0
在Java SE中,可以使用initCause
來設置異常原因,以避免在捕獲和重新拋出異常時丟失有關錯誤的信息。在Java ME中可以做到這一點嗎?替代Java ME中的異常原因
在Java SE中,可以使用initCause
來設置異常原因,以避免在捕獲和重新拋出異常時丟失有關錯誤的信息。在Java ME中可以做到這一點嗎?替代Java ME中的異常原因
這是很容易擴展Exception類來實現這一目標:
public class OperationFailedException extends Exception{
public Exception cause;
public OperationFailedException(String string, Exception ex) {
super(string);
cause=ex;
}
public void printStackTrace(){
super.printStackTrace();
System.err.println("\nCaused by:\n");
cause.printStackTrace();
}
}
當我們要避免強迫主叫這例外的是隱藏了底層的例外,比如當我們想避免依賴關係或者有用處理太多類型的例外。我通常也會創建這個類的一個版本,擴展爲RuntimeException
用於包裝異常,我想取消選中