| java.lang.Object org.zkoss.lang.Exceptions
Exceptions | public class Exceptions (Code) | | Utilities for Exceptions.
author: tomyeh |
Method Summary | |
final public static Throwable | findCause(Throwable ex, Class cause) Finds the causes of an exception, ex, to see whether
any of them is the givinge type. | final public static String | formatStackTrace(Throwable t, String prefix) Formats the stack trace and returns the result. | final public static StringBuffer | formatStackTrace(StringBuffer sb, Throwable t, String prefix) Formats the stack trace and appends it to the specified string buffer.
Parameters: sb - the string buffer to append the stack trace. | final public static StringBuffer | formatStackTrace(StringBuffer sb, Throwable t, String prefix, int maxcnt) Formats the stack trace and appends it to the specified string buffer,
but only display at most maxcnt lines.
The maximal allowed number of lines is controlled by
maxcnt. | final public static String | getBriefStackTrace(Throwable t) Returns the first few lines of the stack trace. | final public static Throwable | getCause(Throwable ex) Returns the cause of the given throwable. | final public static String | getExtraMessage(Throwable ex) Returns the extra message, or null if no extra. | final public static String | getMessage(Throwable ex) Returns a message of the exception. | final public static String | getMessage(int code, Object[] fmtArgs) Gets the message for an exception's getMessage method. | final public static String | getMessage(int code, Object fmtArg) Gets the message for an exception with one format-argument. | final public static String | getMessage(int code) Gets the message for an exception without format-argument. | final public static Throwable | getRealCause(Throwable ex) Unveils the real cause. | final public static Throwable | unwrap(Throwable ex) Unwraps an exception if the enclosing one is InvocationTargetException
or UndeclaredThrowableException. | final public static Throwable | wrap(Throwable ex, Class targetExceptCls) Converts an exception to the sepecified class. | final public static Throwable | wrap(Throwable ex, Class targetExceptCls, String msg) Converts an exception to the sepecified class plus a message.
It is similar to
Exceptions.wrap(Throwable,Class) but with
an additional message. | final public static Throwable | wrap(Throwable ex, Class targetExceptCls, int code, Object[] fmtArgs) Converts an exception to the sepecified class plus a message.
It is similar to
Exceptions.wrap(Throwable,Class) but with
an additional message code. | final public static Throwable | wrap(Throwable ex, Class targetExceptCls, int code, Object fmtArg) Converts an exception to the sepecified class plus a message.
It is similar to
Exceptions.wrap(Throwable,Class) but with
an additional message code. | final public static Throwable | wrap(Throwable ex, Class targetExceptCls, int code) Converts an exception to the sepecified class plus a message.
It is similar to
Exceptions.wrap(Throwable,Class) but with
an additional message code. |
findCause | final public static Throwable findCause(Throwable ex, Class cause)(Code) | | Finds the causes of an exception, ex, to see whether
any of them is the givinge type.
the cause if found; null if not found |
formatStackTrace | final public static String formatStackTrace(Throwable t, String prefix)(Code) | | Formats the stack trace and returns the result.
Currently, it only adds the prefix to each line.
Parameters: prefix - the prefix shown in front of each line of the stack trace;null to denote empty See Also: org.zkoss.util.logging.Log.realCause |
formatStackTrace | final public static StringBuffer formatStackTrace(StringBuffer sb, Throwable t, String prefix)(Code) | | Formats the stack trace and appends it to the specified string buffer.
Parameters: sb - the string buffer to append the stack trace. A string bufferwill be created if null. Parameters: prefix - the prefix shown in front of each line of the stack trace;null to denote empty |
formatStackTrace | final public static StringBuffer formatStackTrace(StringBuffer sb, Throwable t, String prefix, int maxcnt)(Code) | | Formats the stack trace and appends it to the specified string buffer,
but only display at most maxcnt lines.
The maximal allowed number of lines is controlled by
maxcnt. Note: a stack frame is not counted, if it belongs
to java.*, javax.* or sun.*.
Parameters: sb - the string buffer to append the stack trace. A string bufferwill be created if null. Parameters: prefix - the prefix shown in front of each line of the stack trace;null to denote empty Parameters: maxcnt - the maximal allowed number of lines to dump (<=0: no limit) |
getBriefStackTrace | final public static String getBriefStackTrace(Throwable t)(Code) | | Returns the first few lines of the stack trace.
It is useful to make the cause exception's stacktrace to be
part of the message of the exception thrown to the user.
|
getCause | final public static Throwable getCause(Throwable ex)(Code) | | Returns the cause of the given throwable. It is the same as
t.getCause, but it solves the compatibility of J2EE that might not
support JDK 1.4.
|
getExtraMessage | final public static String getExtraMessage(Throwable ex)(Code) | | Returns the extra message, or null if no extra.
Currently, it handles only SQLException
|
getMessage | final public static String getMessage(int code, Object[] fmtArgs)(Code) | | Gets the message for an exception's getMessage method.
It actually delegates to Messages, and then
appends an error code.
|
getMessage | final public static String getMessage(int code, Object fmtArg)(Code) | | Gets the message for an exception with one format-argument.
|
getMessage | final public static String getMessage(int code)(Code) | | Gets the message for an exception without format-argument.
|
getRealCause | final public static Throwable getRealCause(Throwable ex)(Code) | | Unveils the real cause. A throwable object is called a real cause,
if it doesn't have any cause (or called chained throwable).
Parameters: ex - the throwable the real cause; ex itself if it is already the real cause See Also: Exceptions.wrap |
unwrap | final public static Throwable unwrap(Throwable ex)(Code) | | Unwraps an exception if the enclosing one is InvocationTargetException
or UndeclaredThrowableException.
Use it if you are catching exceptions thrown by Method.invoke().
|
wrap | final public static Throwable wrap(Throwable ex, Class targetExceptCls)(Code) | | Converts an exception to the sepecified class. If any of causes
is the specified class, the cause is returned. If the giving exception
is RuntimeException or error, it is re-thrown directly. In other words,
Unlike
Exceptions.findCause , it is designed to be used in the
throw statement as follows.
Usage 1: one kind of exception is examined.
try {
...
} catch (Exception ex) {
throw (MyException)Exceptions.wrap(ex, MyException.class);
}
Usage 2: two kinds of exceptions are examined.
try {
...
} catch (Exception ex) {
Throwable t = Exceptions.findCause(ex, AnotherException.class);
if (t != null)
throw (AnotherException)t;
throw (MyException)Exceptions.wrap(ex, MyException.class);
}
Usage 3: two kinds of exceptions are examined.
try {
...
} catch (AnotherException ex) {
throw ex;
} catch (Exception ex) {
throw (MyException)Exceptions.wrap(ex, MyException.class);
}
If you already know the exception, you don't need this method
-- AnotherException won't never be RuntimeException or MyException.
try {
...
} catch (AnotherException ex) {
throw new MyException(ex);
}
Note: It assumes the exception has the constructor:
MyException(Throwable cause);
Parameters: targetExceptCls - the class of exception to be converted to Parameters: ex - the exception being caught (and to be converted) See Also: Exceptions.getRealCause See Also: SystemException.Aide.wrap |
wrap | final public static Throwable wrap(Throwable ex, Class targetExceptCls, String msg)(Code) | | Converts an exception to the sepecified class plus a message.
It is similar to
Exceptions.wrap(Throwable,Class) but with
an additional message. Thus, the target exception class must has
the constructor: MyException(String msg, Throwable cause);
|
wrap | final public static Throwable wrap(Throwable ex, Class targetExceptCls, int code, Object[] fmtArgs)(Code) | | Converts an exception to the sepecified class plus a message.
It is similar to
Exceptions.wrap(Throwable,Class) but with
an additional message code. Thus, the target exception class must has
the constructor:
MyException(int code, Object[] fmtArgs, Throwable cause);
|
wrap | final public static Throwable wrap(Throwable ex, Class targetExceptCls, int code, Object fmtArg)(Code) | | Converts an exception to the sepecified class plus a message.
It is similar to
Exceptions.wrap(Throwable,Class) but with
an additional message code. Thus, the target exception class must has
the constructor:
MyException(int code, Object fmtArgs, Throwable cause);
|
wrap | final public static Throwable wrap(Throwable ex, Class targetExceptCls, int code)(Code) | | Converts an exception to the sepecified class plus a message.
It is similar to
Exceptions.wrap(Throwable,Class) but with
an additional message code. Thus, the target exception class must has
the constructor:
MyException(int code, Throwable cause);
|
|
|