将整个方法包装在 try/catch 与特定行中
本文关键字:catch try 方法 包装 | 更新日期: 2023-09-27 18:36:05
我得到了一个大方法的异常。这是一个空引用错误。我将向此方法添加一些额外的异常处理和日志记录。
如果我将整个内部方法代码包装在一个大的 try/catch 中,我会得到更好的异常详细信息吗?还是会产生同样的结果?
当前异常指向此大方法的右大括号。
假设在同一代码中具有相同的异常,则 try-catch 的范围不会产生影响。调用堆栈将指向发生错误的方法和代码行。
您可以将长方法分解为较小的方法(这有很多原因),以获得更好的调用堆栈。
>try...catch
应该只包含您希望抛出要捕获的异常的代码。try
中包含的代码越多,不应捕获的异常的可能性就越大。
但是,NullReferenceException
,不是您通常试图捕捉的东西。您不应该期望您的代码以这种方式失败。相反,您首先通过进行适当的空检查来防止它。