indexing
description: "Error handlers"
library: "Gobo Eiffel Utility Library"
author: "Eric Bezault <ericb@gobo.demon.co.uk>"
copyright: "Copyright (c) 1998, Eric Bezault"
class interface
UT_ERROR_HANDLER
create
make_standard
ensure
error_file_set: error_file = std.error;
warning_file_set: warning_file = std.error;
message_file_set: message_file = std.output
make_null
ensure
error_file_set: error_file = void;
warning_file_set: warning_file = void;
message_file_set: message_file = void
feature -- Access
error_file: like output_stream_type
-- File where errors are logged
message_file: like output_stream_type
-- File where messages are logged
output_stream_: KL_OUTPUT_STREAM_ROUTINES
-- Routines that ought to be in class OUTPUT_STREAM
-- (from KL_IMPORTED_OUTPUT_STREAM_ROUTINES)
ensure -- from KL_IMPORTED_OUTPUT_STREAM_ROUTINES
output_stream_routines_not_void: Result /= void
std: KL_STANDARD_FILES
-- Standard files
-- (from KL_SHARED_STANDARD_FILES)
ensure -- from KL_SHARED_STANDARD_FILES
std_not_void: Result /= void
warning_file: like output_stream_type
-- File where warnings are logged
feature -- Reporting
report_error (an_error: UT_ERROR)
-- Report an_error.
require
an_error_not_void: an_error /= void
report_message (a_message: UT_ERROR)
-- Report a_message.
require
a_message_not_void: a_message /= void
report_warning (a_warning: UT_ERROR)
-- Report a_warning.
require
a_warning_not_void: a_warning /= void
feature -- Setting
set_error_file (a_file: like error_file)
-- Set error_file to a_file.
ensure
error_file_set: error_file = a_file
set_message_file (a_file: like message_file)
-- Set message_file to a_file.
ensure
message_file_set: message_file = a_file
set_warning_file (a_file: like error_file)
-- Set warning_file to a_file.
ensure
warning_file_set: warning_file = a_file
feature -- Type anchors
output_stream_type: IO_MEDIUM
-- (from KL_IMPORTED_OUTPUT_STREAM_ROUTINES)
invariant
-- from GENERAL
reflexive_equality: standard_is_equal (Current);
reflexive_conformance: conforms_to (Current);
end -- class UT_ERROR_HANDLER