note
	description: "Ancestor of all exception classes."
	library: "Free implementation of ELKS library"
	status: "See notice at end of class."
	legal: "See notice at end of class."
	date: "$Date: 2020-05-19 14:32:38 +0000 (Tue, 19 May 2020) $"
	revision: "$Revision: 104260 $"

class interface
	EXCEPTION

create 
	default_create,
	make_with_tag_and_trace

feature -- Raise

	raise
			-- Raise current exception
		require
			is_raisable: is_raisable
	
feature -- Access

	Tag: IMMUTABLE_STRING_32
			-- A short message describing what current exception is

	description: detachable READABLE_STRING_32
			-- Detailed description of current exception.

	trace: detachable STRING_32
			-- String representation of current exception trace

	code: INTEGER_32
			-- Code of the exception.

	frozen original: EXCEPTION
			-- The original exception directly triggered current exception
		ensure
			original_not_void: Result /= Void

	frozen cause: EXCEPTION
			-- The cause of current exception raised during rescue processing
		ensure
			cause_not_void: Result /= Void

	frozen recipient_name: detachable STRING_8
			-- Name of the routine whose execution was
			-- interrupted by current exception

	frozen type_name: detachable STRING_8
			-- Name of the class that includes the recipient
			-- of original form of current exception

	frozen line_number: INTEGER_32
			-- Line number
	
feature -- Status settings

	set_description (a_description: detachable READABLE_STRING_GENERAL)
			-- Set description with a_description.
		ensure
			description_set: (attached a_description as a_des and then attached description as l_des and then a_des.same_string (l_des)) or else (a_description = Void and then description = Void)
	
feature -- Status report

	frozen is_ignorable: BOOLEAN
			-- Is current exception ignorable?

	frozen is_raisable: BOOLEAN
			-- Is current exception raisable by raise?

	frozen is_ignored: BOOLEAN
			-- If set, current exception is not raised.
		ensure
			is_ignored_implies_is_ignorable: Result implies is_ignorable
			not_is_caught: Result = not is_caught

	frozen is_caught: BOOLEAN
			-- If set, current exception is raised.
		ensure
			not_is_caught_implies_is_ignorable: not Result implies is_ignorable
			not_is_ignored: Result = not is_ignored
	
feature -- Output

	out: STRING_8
			-- New string containing terse printable representation
			-- of current object
	
note
	copyright: "Copyright (c) 1984-2020, Eiffel Software and others"
	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
		Eiffel Software
		5949 Hollister Ave., Goleta, CA 93117 USA
		Telephone 805-685-1006, Fax 805-685-6869
		Website http://www.eiffel.com
		Customer support http://support.eiffel.com
	]"

end -- class EXCEPTION

Generated by ISE EiffelStudio