[英]Can I delete the e from catch block of try-catch?
catch (HttpAntiForgeryException e)
{
throw new HttpAntiForgeryException("Forgery Exception");
}
當我構建項目時,有一條警告說:聲明了變量'e',但從未使用過。 那是因為e不必要嗎?
是。 你可以簡單地寫
catch (HttpAntiForgeryException)
{
throw new HttpAntiForgeryException("Forgery Exception");
}
但是,您要拋出相同類型的異常。 您也可以簡單地刪除此catch塊。
如果您不想執行任何例外處理,則沒有必要,在這種情況下,您將拋出自定義消息,因此可以像這樣使用它:
catch
{
throw new HttpAntiForgeryException("Forgery Exception");
}
或像這樣:
// For specific exception
catch (HttpAntiForgeryException)
{
throw new HttpAntiForgeryException("Forgery Exception");
}
但是您不會獲得有關此異常的任何信息,例如錯誤消息,堆棧跟蹤,內部異常等。我更希望您在Catch中處理該異常,或者適當地記錄它們以供開發人員參考
這是因為您沒有在catch塊的任何位置使用變量e。 您可以輕松捕獲該異常,因此與引發新異常相比,您將更好地了解異常的根本原因。
catch (HttpAntiForgeryException e)
{
Console.WriteLine(e.Message); // Console.Writeline or whichever way you want
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.