Debugging 异常处理策略

Debugging 异常处理策略,debugging,Debugging,假设您有一些可能引发异常的代码。例如,您尝试 向邮件服务器发送电子邮件,或在您不确定是否具有正确权限时将文件写入磁盘。您将使用何种异常处理策略来避免异常显示在浏览器中?您需要什么代码?所有可以引发异常的语言都有捕获异常的方法 它们通常看起来像这样: try { some_risky_thing(); } catch(Exception e) { handle_the_exception(); } 通过捕获异常,您可以停止异常在调用堆栈上的传播(它最终将在那里找到用户) 为了阻止所有

假设您有一些可能引发异常的代码。例如,您尝试
向邮件服务器发送电子邮件,或在您不确定是否具有正确权限时将文件写入磁盘。您将使用何种异常处理策略来避免异常显示在浏览器中?您需要什么代码?

所有可以引发异常的语言都有捕获异常的方法

它们通常看起来像这样:

try
{
   some_risky_thing();
}
catch(Exception e)
{
   handle_the_exception();
}
通过捕获异常,您可以停止异常在调用堆栈上的传播(它最终将在那里找到用户)

为了阻止所有异常进入用户,请将其中一个放在可用的最高级别。然后,您可以捕获任何遗漏的异常,并执行比向用户抛出异常更合适的操作(例如将它们离散地记录在某个位置)。

这取决于具体情况

对于这些情况,我可能会将可能引发异常的代码包装在try/catch块中。不同的语言将这种构造称为不同的东西——有时是try/catch/finally,有时是try/except

但是,很容易滥用异常和异常处理。您需要避免的几件事是:对流控制使用异常处理、过早地处理异常(在能够适当处理异常之前,将异常传递到调用堆栈),以及将非异常情况视为异常