public class DefaultRuntimeException extends RuntimeException
主要作用,是在异常message 中追加 cause exception信息,方便查看排查问题
如下代码public void testRuntimeException(){ try{ int i = 1 / 0; }catch (Exception e){ throw new RuntimeException("", e); } }抛出的异常情况在控制台是这样的:java.lang.RuntimeException: at com.feilong.core.DefaultRuntimeExceptionTest.testRuntimeException(DefaultRuntimeExceptionTest.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.lang.reflect.Method.invoke(Method.java:606) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) Caused by: java.lang.ArithmeticException: / by zero at com.feilong.core.DefaultRuntimeExceptionTest.testRuntimeException(DefaultRuntimeExceptionTest.java:61) ... 23 more而如果使用 DefaultRuntimeExceptionpublic void testDefaultRuntimeException(){ try{ int i = 1 / 0; }catch (Exception e){ throw new DefaultRuntimeException("", e); } }抛出来的信息是这样的 :com.feilong.core.DefaultRuntimeException: java.lang.ArithmeticException: / by zero at com.feilong.core.DefaultRuntimeExceptionTest.testDefaultRuntimeException(DefaultRuntimeExceptionTest.java:53) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) Caused by: java.lang.ArithmeticException: / by zero at com.feilong.core.DefaultRuntimeExceptionTest.testDefaultRuntimeException(DefaultRuntimeExceptionTest.java:51) ... 23 more
如下代码public void testRuntimeExceptionMessage(){ try{ int i = 1 / 0; }catch (Exception e){ throw new RuntimeException("exception", e); } }抛出的异常情况在控制台是这样的:java.lang.RuntimeException: exception at com.feilong.core.DefaultRuntimeExceptionTest.testRuntimeExceptionMessage(DefaultRuntimeExceptionTest.java:105) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) Caused by: java.lang.ArithmeticException: / by zero at com.feilong.core.DefaultRuntimeExceptionTest.testRuntimeExceptionMessage(DefaultRuntimeExceptionTest.java:103) ... 23 more而如果使用 DefaultRuntimeExceptionpublic void testDefaultRuntimeExceptionMessageAppend(){ try{ int i = 1 / 0; }catch (Exception e){ throw new DefaultRuntimeException("exception", e); } }抛出来的信息是这样的 :com.feilong.core.DefaultRuntimeException: exception,cause by:[java.lang.ArithmeticException: / by zero] at com.feilong.core.DefaultRuntimeExceptionTest.testDefaultRuntimeExceptionMessageAppend(DefaultRuntimeExceptionTest.java:95) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) Caused by: java.lang.ArithmeticException: / by zero at com.feilong.core.DefaultRuntimeExceptionTest.testDefaultRuntimeExceptionMessageAppend(DefaultRuntimeExceptionTest.java:93) ... 23 more
Constructor and Description |
---|
DefaultRuntimeException(String message)
Instantiates a new abstract runtime exception.
|
DefaultRuntimeException(String messagePattern,
Object... args)
Instantiates a new abstract runtime exception.
|
DefaultRuntimeException(String message,
Throwable cause)
Instantiates a new abstract runtime exception.
|
DefaultRuntimeException(Throwable cause)
Instantiates a new abstract runtime exception.
|
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public DefaultRuntimeException(String message)
message
- the messagepublic DefaultRuntimeException(String messagePattern, Object... args)
messagePattern
- the message patternargs
- the argspublic DefaultRuntimeException(String message, Throwable cause)
message
- the messagecause
- the causepublic DefaultRuntimeException(Throwable cause)
cause
- the causeCopyright © 2008-2019 by feilong