想象一下,你有一些可能会引发异常的代码。例如,你试试 将电子邮件发送到邮件服务器,或者在您不确定是否具有相应权限的情况下将文件写入磁盘。您将使用什么样的异常处理策略来避免在浏览器中显示异常?你需要什么代码?
答案 0 :(得分:0)
所有可以抛出异常的语言都有某种方式可以捕获它们。
他们经常看起来像这样:
try
{
some_risky_thing();
}
catch(Exception e)
{
handle_the_exception();
}
通过捕获异常,你可以阻止它在调用堆栈中向上传播(最终会找到用户)。
为了阻止所有异常进入用户,请将其中一个放在最顶层。然后你可以捕获你错过的任何流浪异常并做一些比把它们扔给用户更合适的事情(比如将它们分散地记录在某处)。
答案 1 :(得分:0)
取决于。
对于这些情况,我可能会将可以抛出异常的代码包装在try / catch块中。不同的语言称这种构造有所不同 - 有时它是try / catch / finally,有些则是try / except。
但是,滥用异常和异常处理很容易。您需要避免的一些事情是对流控制使用异常处理,过早处理异常(继续将它们传递给调用堆栈,直到它们得到适当处理),并将非异常条件视为异常。