在我接触的语言 C# 、Java、 NodeJs 开发中,对于异常处理基本都是通过关键字 throw 方式抛出错误,然后通过 try/catch 块来捕获此错误。
程序错误:指可能出现问题的地方出现了问题,是开发者可意料的。比如打开文件失败。
程序异常:指不应该出现问题的地方出现了问题,是在开发者的意料之外。比如引用了空指针。
以下是以 typeScript 为例子:
try {
throw new Error()
} catch(e){
console.log(e) // 捕获异常
}
基本这类语言都会有内置的 Exception 类型,如 IOException、ClassNotFoundException 等等。Node.js 或 JavaScript 运行时抛出的所有异常都将是 Error 的实例Error。