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); }