当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Throwable getCause()用法及代码示例


Throwable类的getCause()方法是一种内置方法,用于返回此throwable的原因,如果无法确定发生异常的原因,则返回null。此方法有助于获取由构造函数之一提供的原因,或者由initCause(Throwable)方法创建后设置的原因。 Throwable类的所有PrintStackTrace方法都调用getCause()方法来确定Throwable或Exception的原因。简单来说,可以说此方法返回了引起异常的原因。

用法:

public Throwable getCause()

返回值:此方法返回此Throwable的原因,如果无法确定原因,则返回null。


下面的程序演示了Throwable类的getCause()方法:

示例1:

// Java program to demonstrate 
// the ensureCapacity() Method. 
  
import java.io.*; 
  
class GFG { 
  
    // Main Method 
    public static void main(String[] args) 
        throws Exception 
    { 
  
        try { 
  
            // divide the numbers 
            divide(2, 0); 
        } 
  
        catch (ArithmeticException e) { 
  
            System.out.println("Cause of Exception: "
                               + e.getCause()); 
        } 
    } 
  
    // method which divides two number 
    public static void divide(int a, int b) 
        throws Exception 
    { 
  
        try { 
  
            // divide two numbers 
            int i = a / b; 
        } 
  
        catch (ArithmeticException e) { 
  
            // initializing new Exception with cause 
            ArithmeticException exe = new ArithmeticException(); 
  
            exe.initCause(e); 
  
            throw(exe); 
        } 
    } 
}
输出:
Cause of Exception: java.lang.ArithmeticException: / by zero

示例2:

// Java program to demonstrate 
// the ensureCapacity() Method. 
  
import java.io.*; 
  
class GFG { 
  
    // Main Method 
    public static void main(String[] args) 
        throws Exception 
    { 
  
        try { 
  
            // divide the numbers 
            divide(2, 0); 
        } 
  
        catch (ArithmeticException e) { 
  
            System.out.println("Cause of Exception : "
                               + e.getCause()); 
        } 
    } 
  
    // method which divides two number 
    public static void divide(int a, int b) 
        throws Exception 
    { 
  
        // divide two numbers 
        int i = a / b; 
    } 
}
输出:
Cause of Exception : null

参考文献:
https://docs.oracle.com/javase/10/docs/api/java/lang/Throwable.html#getCause()



相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Throwable getCause() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。