try catch 与 throw拾遗

时间:2025-04-01 22:07:31

  今天在微软虚拟学院看到的代码:

var b = 0;
try{
    if (b == 0) {
        throw('NO NO!!');
    } else {
    alert('OK OK');
    }
} catch(e) { alert(e); }

  在浏览器运行会弹出窗口“NO NO!!”,看到后有疑问了,catch捕获的不应该是错误对象么,怎么这儿是个字符串?

  看了下JS高程发现,原来catch的参数不仅仅可以是错误对象,基本上可以是js的所有数据类型。

  就作为一个小拾遗吧。