javascript_错误处理

// javascript_错误处理

// 代码1
var n = 0, s;
try {
    n = s.length;
} catch (e) {
    console.log(e);
}
console.log(n);
// 代码解说:catch语句块用于处理错误,可以只是将错误打印出来

// 代码2
function main(s) {
    console.log('BEGIN main()');
    try {
        foo(s);
    } catch (e) {
        console.log('出错了:' + e);
    }
    console.log('END main()');
}

function foo(s) {
    console.log('BEGIN foo()');
    bar(s);
    console.log('END foo()');
}

function bar(s) {
    console.log('BEGIN bar()');
    console.log('length = ' + s.length);
    console.log('END bar()');
}

main(null);
// 代码解说:错误的传播:如果错误没有在当前函数被捕捉,那么将向上层调用函数传播

// 代码3
function printTime() {
    throw new Error();
}
try {
    setTimeout(printTime, 1000);
    console.log('done');
} catch (e) {
    console.log('error');
}
// 代码解说:异步代码,错误无法传播

  

猜你喜欢

转载自www.cnblogs.com/mexding/p/9070493.html