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