catch (HttpAntiForgeryException e)
{
throw new HttpAntiForgeryException("Forgery Exception");
}
当我构建项目时,会有一个警告:变量'e'已声明但从未使用过。 那是因为e不是必要的吗?
答案 0 :(得分:2)
是。你可以简单地写一下
catch (HttpAntiForgeryException)
{
throw new HttpAntiForgeryException("Forgery Exception");
}
但是,你正在重新抛出相同类型的异常。您也可以简单地删除此catch块。
答案 1 :(得分:2)
没有必要,如果您不想对异常做任何事情,在您的情况下,您正在抛出自定义消息,因此可以这样使用:
catch
{
throw new HttpAntiForgeryException("Forgery Exception");
}
或者像这样:
// For specific exception
catch (HttpAntiForgeryException)
{
throw new HttpAntiForgeryException("Forgery Exception");
}
但是你不会获得有关此异常的任何信息,例如错误消息,堆栈跟踪,内部异常等。我更喜欢你在Catch中处理异常,或者properly log它们是开发人员的参考
答案 2 :(得分:2)
这是因为您没有在catch块的任何位置使用Variable e。您可以轻松捕获该异常,这样您就可以更好地了解异常的根本原因而不是抛出新的异常。
catch (HttpAntiForgeryException e)
{
Console.WriteLine(e.Message); // Console.Writeline or whichever way you want
}