有時在罕見的情況下,你真的想忽略例外。做這個的最好方式是什麼?我的方法是趕上例外,但不做任何事情。其他?
try
{
blah
}
catch (Exception e)
{
<nothing here>
}
有時在罕見的情況下,你真的想忽略例外。做這個的最好方式是什麼?我的方法是趕上例外,但不做任何事情。其他?
try
{
blah
}
catch (Exception e)
{
<nothing here>
}
如果你要正好趕上,不處理異常,而忽視它,你可以簡化你有什麼咯。上述
try
{
// code
}
catch
{ }
爲任何異常,如果你只是想忽略特定例外,但讓別人泡出來的,你可以,如果你忽略了這樣的例外做到這一點
try
{
// code
}
catch (SpecificException)
{ }
,它是最好在catch塊中包含一些評論,說明爲什麼你忽略了這種異常。
作爲一個經驗豐富的開發人員,我發現這是在尋求麻煩。最終可能會出現一些不會一直髮生的異常,因爲沿線的某處不可重現,IGNORED是個例外。我想如果你不打算專門處理一個例外,那麼你不應該接受它。調用方法可以捕獲異常並決定要做什麼。異常會傳遞到堆棧中。您可以重新拋出異常並添加一些註釋,如「無法通過網絡發送,+」ex.message ..以及調用函數可以捕獲這個問題 –
有幾種情況,您會吃(忽略)例外。例如,你不希望你的日誌框架拋出異常,阻止你的業務功能正常工作。基本上,你不希望你的主要任務失敗,只是因爲在可選的非必要代碼中可能存在問題。 – NoOneSpecial
try
{
DoBlah();
}
catch { }
我將添加 - 在空的catch塊中添加註釋以解釋*爲什麼*您忽略了異常。 –
MS不鼓勵MS最佳實踐。 –
@Zarathos - 問題不在於'最佳實踐',而是關於吞嚥異常。 – Lee
這可能是這樣的
try
{
//blah
}
catch{}
如果你想忽略一個特定的異常
try
{
//blah
}catch(YourException){}
這不會忽略異常。它會忽略所有的例外。 –
希望,你只是想忽略一個或幾個特定的例外。忽略所有異常並不是一個好主意。 –
不例外。只是您想要忽略的特定例外的類型 –
我同意@BrianRasmussen。當你忽略例外情況時,請添加註釋,解釋爲什麼你忽略它。 –