getCause()
方法getCause()方法在java.lang包中可用。
getCause()方法用于返回此可抛出异常的原因,当原因不存在或未知时,它返回null。
getCause()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
返回该对象的原因时,getCause()方法不会引发异常。
语法:
public Throwable getCause();
参数:
它不接受任何参数。
返回值:
该方法的返回类型为Throwable,当原因存在或已知时,它将返回此异常的原因;否则,当原因不存在或未知时,它将返回null。
示例
//Java程序演示示例 //ThrowablegetCause()方法的介绍 public class GetCause { public static void main(String args[]) throws Exception { try { //调用div()方法 div(100, 0); } catch (ArithmeticException ex) { //显示异常原因的原因 //抛出 System.out.println("Exception Cause:" + ex.getCause()); } } //此方法将两个数相除,然后 //引发异常 public static void div(int d1, int d2) throws Exception { try { int res = d1 / d2; } catch (ArithmeticException ex) { //创建一个异常 ArithmeticException ae = new ArithmeticException(); //实例化异常原因 ae.initCause(ex); //引发异常 with its cause throw (ae); } } }
输出结果
Exception Cause:java.lang.ArithmeticException: / by zero