当我用Google搜索抛出的异常时,我得到的答案是抛出异常。哇。对我而言根本没有任何意义。
此后,我通过stackoverflow了解到,它会抛出错误直到最接近的处理程序对其执行操作为止。
已经有一个问题,但是根本无法回答我的问题。如果不处理,抛出的外观会如何?它会警告用户吗?它仅显示在控制台中吗?它会打到我附近的某人并导致他们在凌晨3点敲我的门吗?
有人可以请您分解一下它的外观,以便我可以根据现实世界的类比来形象化它。就像一个例外,就像将垃圾放入袋子中,如果不被捡拾,放在人行道上以进行拾取....我不知道。请帮忙解释。
答案 0 :(得分:1)
我个人喜欢MDN summary of throw
:
-Dserver.port=9099
语句引发用户定义的异常。当前函数的执行将停止(throw
之后的语句将不会执行),并且控制权将传递到调用堆栈中的第一个catch
块。如果调用方函数之间不存在throw
块,则程序将终止。
链接的文档中还包含一些示例,可以帮助您更好地了解catch
。
要回答这个问题:
如果不处理,会抛出什么样的外观?它会警告用户吗?它仅显示在控制台中吗?
答案是“是”,它确实显示在您的控制台中。通常为鲜红色,并带有错误堆栈,该错误堆栈会向您显示错误的位置。
throw
答案 1 :(得分:0)
答案只是“取决于”。该实现定义了用户代码未捕获的异常发生了什么。我所知道的所有浏览器都将其记录在控制台中,并停止执行该脚本或函数,否则让页面正常运行。 Node.js将错误输出到STDERR,并使用非零退出代码终止该过程。
在两种情况下,执行用户代码的过程仍然可以“处理”异常。