什么是正确的方法.
捕获从最具体到最普遍或相反的异常.
如果我写
try
{
...
}
catch( Exception e )
{
...
}
catch( NullReferenceException nre )
{
...
}
Run Code Online (Sandbox Code Playgroud)
NullReferenceException是否会被捕获?
Dar*_*rov 14
try
{
...
}
catch( NullReferenceException nre )
{
...
}
catch( Exception e )
{
...
}
Run Code Online (Sandbox Code Playgroud)
此外,我不会捕捉NullReferenceException,我会测试我试图访问的值是否在实际访问它之前不是null或使用null合并运算符(??)以确保此异常永远不会发生.
Exception应该避免捕捉将军.恕我直言,你应该只在一些全局异常处理程序中执行此操作,因为每次调用方法时很少处理所有可能异常的情况.在这种情况下,您应该只捕获一些特定的例外(如果有)并采取适当的操作.
| 归档时间: |
|
| 查看次数: |
975 次 |
| 最近记录: |