如果没有正确的捕获错误、处理错误。代码执行时,可能会发生各种异常:崩溃、内存占用巨大、CPU使用率100%!
那么,Node中有哪些错误种类?又如何捕获错误呢?
- 显式异常
由throw抛出的异常,我们称之为显式异常。
显式异常抛出例程:
function format_name(name){
if(!name){
throw new Error("name is required");
}
}
显示异常可以用try/catch捕获:
function format_name(name){
if(!name){
throw new Error("name is required");
}
}
try{
format_name();
}catch(e){
console.log(e.message,e.stack);
}
运行结果:
需要注意的是,throw只能用于同步方法,或者异步方法中异常发生前。