如何在Worker API中检测无效URL的错误

时间:2015-08-19 18:09:31

标签: javascript exception

如果我运行以下内容(至少在Chromium上):

var w = null;
try {
    w = new Worker( 'NONEXISTENT_URL' );
}
catch ( e ) {
    console.log( 'CAUGHT: ' + e );
}
console.log( w );

...没有异常被捕获,即使Worker构造函数的参数没有指向有效的文件名。此外,控制台显示Worker {},表示w现在拥有Worker的(非功能)实例。

其他错误情况也是可能的。例如,构造函数的参数可能是可用且可读的,但不包含有效的JavaScript。

我还能如何检测出这样的错误情况?

(顺便说一句:请假设浏览器支持Worker API。)

1 个答案:

答案 0 :(得分:1)

使用onerror事件处理程序可能会出错。

public static final class drawable {
        public static final int 31205=0x7f020000;
        public static final int abc_ab_share_pack_mtrl_alpha=0x7f020001;
        public static final int abc_btn_check_material=0x7f020002;
        public static final int abc_btn_check_to_on_mtrl_000=0x7f020003;
        public static final int abc_btn_check_to_on_mtrl_015=0x7f020004;
        [...]
  

如果网址语法无效或违反了同源策略,则会抛出类型为SECURITY_ERR的DOMException