错误处理在编程中的重要性毋庸置疑。所有主流 Web 应用程序都需要定义完善的错误处理协议,大多数优秀的应用程序都有自己的错误处理策略,尽管主要逻辑是放在服务端的。事实上,服务器团队通常会花很多精力根据错误类型、频率和其他重要指标来定义规范的错误日志机制。最终实现通过简单的数据库查询就可以了解应用程序的运行状态。
try/catch
try/catch 语句,作为在 js 中处理异常的一种方式。基本语法如下所示:
1 | try { |
任何可能出错的代码都应放到 try 块中,而处理错误的代码则放在 catch 块中,如下所示:
1 | try { |
错误对象中暴露的实际信息因浏览器而异,但是至少包含保存错误消息的 message 属性,所以可以像下面的代码这样必要时显示错误消息:
1 | try { |
finally 子句
1 | function testFinally() { |
finally 块的存在会导致 try 块中的 return 语句被忽略,因此无论什么时候调用该函数都会返回 0。如果去掉了 finally 子句,那么该函数会返回 2.如果写出了 finally 子句,那么 catch 块就变成了可选的。
finally 子句会让 try 块或者 catch 块中的 return 语句被忽略。