2010-07-28 69 views
0

想象一下,您有一些可能会抛出异常的代码。例如,您可以尝试使用 向邮件服务器发送电子邮件或将文件写入磁盘,但您不确定是否拥有正确的权限。您将使用什么样的异常处理策略来避免在浏览器中显示异常?你需要什么代码?异常处理策略

+2

这功课呢? – Peter 2010-07-28 23:45:53

回答

0

所有可以抛出异常的语言都可以通过某种方式来捕捉它们。

他们往往是这个样子:

try 
{ 
    some_risky_thing(); 
} 
catch(Exception e) 
{ 
    handle_the_exception(); 
} 

通过捕获你停止它的传播调用堆栈(它最终会找到用户)除外。

为了阻止所有例外情况发送给用户,请将其中一个例外置于最高级别。然后,您可以捕获任何您错过的杂散例外,并执行比将它们扔给用户更合适的事情(例如将它们记录在某处)。

0

这取决于。

对于这些情况,我可能会包装可以将异常抛出到try/catch块中的代码。不同的语言调用这个构造有所不同 - 有时它是try/catch/finally,其他的则是try/except。

但是,很容易滥用异常和异常处理。您需要避免的一些事情是使用流控制的异常处理,尽快处理异常(不断将它们传递到调用堆栈直到它们可以得到适当处理),并将非例外情况视为例外情况。