(1)
一中抛出异常处理的方法是直接调用栈的顶端使用try-catch,就像:
function main(){
try{
bomb();
}catch(e){
//Handle all the error things
}
}
(2)
但是,器是事件驱动的,JavaScript中的错误也是一个事件,解析器在当前的执行上下文中执行后释放。
我们可以用一个onerror的全局异常事件处理函数:
if(window.addEventListener){
window.addEventListener('error',function(e){
var error = e.error;
consle.log(error);
})
}else if(window.attachEvent){
window.attachEvent('error',function(e){
var error = e.error;
consle.log(error);
}
}else{
window.onerror = function)(){
var error = e.error;
consle.log(error);
}
}
这个处理函数能捕获任何执行上下文中的错误异常,包括任何类型的任何错误。而且他能定位到代码中的错误位置,就像其他任何事件一样,你能捕获特定错误的具体信息。