Signal that a process was aborted before completion. This may contain a structured IMessage which indicates why the process was aborted (e.g., the underlying exception). For processes using try/catch to complete a method abruptly but complete the process normally (e.g., a test failure causes the test to abort but the reporting and testing continues normally), use the static methods to borrow and return a "porter" to avoid the expense of constructing a stack trace each time. A porter stack trace is invalid, and it should only be used to convey a message. E.g., to print the stack of the AbortException and any contained message:
catch (AbortException ae) { IMessage m = ae.getMessage(); if (!ae.isPorter()) ae.printStackTrace(System.err); Throwable thrown = ae.getThrown(); if (null != thrown) thrown.printStackTrace(System.err); }
@author PARC
@author Andy Clement