import ceylon.language { printTrace=printStackTrace }
"The supertype of all exceptions. A subclass represents
a more specific kind of problem, and may define
additional attributes which propagate information about
problems of that kind."
by ("Gavin", "Tom")
shared native class Exception(description=null, cause=null) {
"The underlying cause of this exception."
shared Exception? cause;
"A description of the problem."
String? description;
//shared native StackTrace stackTrace;
"A message describing the problem. This default
implementation returns the description, if any, or
otherwise the message of the cause, if any."
see (`value cause`)
shared default String message
=> description else cause?.message else "";
shared actual default String string
=> className(this) + " \"``message``\"";
"Print the stack trace to the standard error of
the virtual machine process."
see (`function printTrace`)
shared void printStackTrace() => printTrace(this);
}