簡體   English   中英

在異常塊中處理異常

[英]Handling exceptions in exception block

有人可以提供一些良好的做法來處理異常,例如我有

 try { 
 ... 
 DeserializationResult deserialization = xmlSerializationService.deserializeFromXml(node);
 some code here
} catch (Exception e) { 

try {

//I need to create process result xml with error code and some details
// creation of result xml document 

} catch (Exception e) {

// maybe some error message here

  }

}   

我能以某種方式使這段代碼看起來更清晰,更安靜並且更易於理解嗎? 感謝您的回答。 PS我知道使用一般異常不是一個好習慣,這里只是出於示例目的。

解決該問題的第一個近似值通常是將catch的邏輯放在單獨的方法中,並且catch塊中只有一行(方法調用)。

始終捕獲特定的異常,而不是常規的Exception超類。

如果我看那個代碼,我不確定會出什么問題。 如果您專門捕獲異常,則可以輕松地看到預期的故障並解決這些故障。

還要以有意義的特定方式處理每個故障。 最簡單的形式是返回描述失敗的結果。

也許像這樣:

try{
    //DeserializationResult deserialization = xmlSerializationService.deserializeFromXml(node);
    //some code here
}catch(NullPointerException npe){
    //Maybe return something like: new DeserializationResult("xmlSerializationService not initialized")
}catch(DeserializationException dse){
    //Maybe return something like: new DeserializationResult("Could not deserialize because ...")
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM