Throwable類initCause()方法 (Throwable Class initCause() method)
initCause() Method is available in java.lang package.
initCause()方法在java.lang包中可用。
initCause() Method is used to instantiate the cause of this throwable to the given value and this method is invoked within the constructor immediately after that we throw a throwable object.
initCause()方法用于將此throwable的原因實例化為給定值,并且在我們拋出throwable對象之后立即在構造函數中調用此方法。
initCause() Method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
initCause()方法是一種非靜態方法,只能通過類對象訪問,如果嘗試使用類名稱訪問該方法,則會收到錯誤消息。
initCause() Method may throw an exception at the time of initializing cause.
initCause()方法可能會在初始化原因時引發異常。
- IllegalArgumentException – This exception may throw when the given argument is this object.IllegalArgumentException-如果給定參數是此對象,則可能引發此異常。
- IllegalStateException – This exception may throw when the given argument was created with throwable or when this method called already on this throwable.IllegalStateException-當使用throwable創建給定參數時,或者在此throwable上已調用此方法時,可能會拋出此異常。
Syntax:
句法:
public Throwable initCause(Throwable caus);
Parameter(s):
參數:
Throwable caus – represents the cause it retrieve by using getCause() method and if it returns null then cause is non-existent or not known.
可拋出的原因-表示使用getCause()方法檢索的原因,如果返回null,則原因不存在或未知。
Return value:
返回值:
The return type of the method is Throwable, it returns reference to this "Throwable" object.
方法的返回類型為Throwable ,它返回對此“ Throwable”對象的引用。
Example:
例:
// Java program to demonstrate the example
// of Throwable initCause(Throwable caus)
// method of Throwable
public class InitCause {
public static void main(String args[]) throws Exception {
try {
// calling div() method
div(100, 0);
} catch (ArithmeticException ex) {
// Display the exception cause why it is
//thrown
System.out.println("Exception Cause:" + ex.getCause());
}
}
// This method divide two numbers and will
// throw an exception
public static void div(int d1, int d2) throws Exception {
try {
int res = d1 / d2;
} catch (ArithmeticException ex) {
// creating an exception
ArithmeticException ae = new ArithmeticException();
// instantiate exception cause by using
//initCause() method
ae.initCause(ex);
// throw an exception with its cause
throw (ae);
}
}
}
Output
輸出量
Exception Cause:java.lang.ArithmeticException: / by zero
翻譯自: https://www.includehelp.com/java/throwable-initcause-method-with-example.aspx