當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。