Java语言的异常类Exception包含着异常的全部信息。
现设异常的实例名为ex,所有的异常都是一个除以0的表达式(int i = 1 / 0)所触发的:
1、通过ex.getMessage()可以获取异常信息,如
/ by zero
2、通过ex.toString()可以获取异常类型和异常信息,如
java.lang.ArithmeticException: / by zero
3、通过ex.printStackTrace()可以直接在控制台打印异常的全部信息(包括堆栈),但该函数最好不要直接调用无参数的版本,因为这样会让控制台显示出现错乱。调用printStackTrace时,通过如下方法调用:
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
ex.printStackTrace(printWriter);
System.out.println(stringWriter.toString());
使用此方法,控制台输出的内容为:
java.lang.ArithmeticException: / by zero
at ExceptionTest.exec3(ExceptionTest.java:31)
at ExceptionTest.exec2(ExceptionTest.java:23)
at ExceptionTest.exec1(ExceptionTest.java:15)
at ExceptionTest.main(ExceptionTest.java:39)