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