描述
这个java.lang.Throwable.initCause() 方法将此 throwable 的原因初始化为指定值。 (原因是导致这个 throwable 被抛出的 throwable。)它通常在构造函数中调用,或者在创建 throwable 之后立即调用
声明
以下是声明java.lang.Throwable.initCause()方法
public Throwable initCause(Throwable cause)
参数
cause- 这就是原因(它被保存以供以后检索getCause()方法)。 (允许使用空值,表示原因不存在或未知。)
返回值
此方法返回对此 Throwable 实例的引用。
异常
IllegalArgumentException- 如果原因是可以抛出的。
IllegalStateException- 如果这个 throwable 是用 Throwable(Throwable) 或 Throwable(String,Throwable) 创建的,或者已经在这个 throwable 上调用了这个方法。
示例
下面的例子展示了 java.lang.Throwable.initCause() 方法的用法。
package com.tutorialspoint;
import java.lang.*;
public class ThrowableDemo {
public static void main(String[] args) throws Throwable {
try {
Exception1();
} catch(Exception e) {
System.out.println(e);
}
}
public static void Exception1()throws amitException{
try {
Exception2();
} catch(otherException e) {
amitException a1 = new amitException();
// initializes the cause of this throwable to the specified value.
a1.initCause(e);
throw a1;
}
}
public static void Exception2() throws otherException {
throw new otherException();
}
}
class amitException extends Throwable {
amitException() {
super("This is my Exception....");
}
}
class otherException extends Throwable {
otherException() {
super("This is any other Exception....");
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
Exception in thread "main" amitException:This is my Exception.... at ThrowableDemo.Exception1(ThrowableDemo.java:18) at ThrowableDemo.main(ThrowableDemo.java:6) Caused by:otherException:This is any other Exception.... at ThrowableDemo.Exception2(ThrowableDemo.java:27) at ThrowableDemo.Exception1(ThrowableDemo.java:15) ... 1 more
相关用法
- Java Java.lang.Throwable.fillInStackTrace()用法及代码示例
- Java Java.lang.Throwable.printStackTrace()用法及代码示例
- Java Java.lang.Throwable.getMessage()用法及代码示例
- Java Java.lang.Throwable.getCause()用法及代码示例
- Java Java.lang.Throwable.setStackTrace()用法及代码示例
- Java Java.lang.Throwable.getStackTrace()用法及代码示例
- Java Java.lang.Throwable.toString()用法及代码示例
- Java Java.lang.Thread.run()用法及代码示例
- Java Java.lang.Thread.isDaemon()用法及代码示例
- Java Java.lang.ThreadGroup.uncaughtException()用法及代码示例
- Java Java.lang.Thread.checkAccess()用法及代码示例
- Java Java.lang.Thread.getState()用法及代码示例
- Java Java.lang.Thread.yield()用法及代码示例
- Java Java.lang.ThreadGroup.parentOf()用法及代码示例
- Java Java.lang.Thread.isInterrupted()用法及代码示例
- Java Java.lang.Thread.getName()用法及代码示例
- Java Java.lang.ThreadGroup.getName()用法及代码示例
- Java Java.lang.ThreadLocal.remove()用法及代码示例
- Java Java.lang.Thread.enumerate()用法及代码示例
- Java Java.lang.Thread.getPriority()用法及代码示例
注:本文由纯净天空筛选整理自 Java.lang.Throwable.initCause() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。