2015-10-07 80 views
0

任何人都可以建議我將數據包裝爲異常是Java中的一個良好實踐嗎?異常包裝

下面是我打算做的事情:我想將某些細節包含在異常中,並希望在出現異常時訪問這些細節。

class MyCustomException extends Exception{ 

private String id; 
private String name; 

public MyExcpetion(String id, String name){ 
this.id = id; 
this.name = name; 
} 

public String getId(){ return this.id; } 
public String getName() { return this.name } 

} 

問候, 桑迪..

+0

你會在哪裏使用異常 - 你可以添加更多的上下文嗎? –

+0

Mick, 我會根據異常收到的重定向到某個頁面。作爲重定向的一部分,它需要一些額外的參數。 – Sandy

+0

我的意思是,當你的代碼中發現其他異常時,總是拋出'MyCustomException'。如果是這樣,我會修改構造函數到'public MyCustomException(Throwable cause,String id,String name){super(cause); /*...*/}',以便保留原始原因的堆棧跟蹤。 –

回答

0

不是一個壞主意。建議你也觀察Exception的接口,所以一定要傳遞給超類一個錯誤消息和你可能發現的任何異常。然後這個對象既可以作爲一個普通的異常(檢查我假設),也可以作爲你的自定義類型(用於更聰明的異常處理程序),可以立即使用這些額外的屬性。

但真正的問題是,通過擁有這些屬性,異常處理程序將會更好。如果他們能夠恢復或更好的錯誤報告,那很好。如果沒有,那麼做最簡單的事情,可能工作。

+0

感謝您的輸入Ashley。 – Sandy