在其初始化器对象中捕获异常
catch exception in its initializer object
我有一个Ajax对象,在一些其他对象中用于加载'Json'文件。
我需要在初始化对象中捕获404 'Not found'抛出的异常,但我不能这样做,它总是给我:
Uncaught Exception: *********
这里有一段代码:
_ajax_params.xmlhttp.onreadystatechange = function() {
if (_ajax_params.xmlhttp.readyState==4 && _ajax_params.xmlhttp.status==200) {
_ajax_params.response = _ajax_params.xmlhttp.responseText;
if (typeof afterClosure == 'function') {
afterClosure(_ajax_params.response);
}
COMMON.always(_ajax_params.response);
} else if (_ajax_params.xmlhttp.status== 404) {
throw 'File not found';
}
};
初始化对象:
try {
Base.include.json(url, 1);
} catch (e) {
console.error(e);
Base.include.json(url,2);
}
我试图重新抛出异常,但我得到相同的。
您可以在try..catch
块中定义回调,但函数在该块之外执行(即。当事件被触发时)。这意味着在回调中发生的异常不会被外部块捕获。
下面是一个动作差异的演示。
考虑用Base.include.json(url,2)
代替throw 'File not found';
此外,除非您已经知道readyState
是4
,否则您不应该真正检查status
,但这是一件小事。
相关文章:
- 错误:180:引发异常(“dev!”):- 和错误:> aqsrv> 70:捕获异常(空) - 错误 -1
- 捕获异常,而不是比较性能的数组值
- Javascript-捕获对对象属性的访问
- 适用于Android的PhoneGap相机API-未捕获异常
- jQuery deferred:在fail()回调中抛出并捕获异常
- Safari 在尝试使用 Javascript try/catch 访问父窗口对象时未捕获异常
- 在 JS 中捕获异常
- 如何在jQuery中修复此错误未捕获异常:语法错误,无法识别的表达式:语法错误,无法识别的表达式:标签
- 主干.js - n捕获异常:语法错误:函数构造函数:无法编译函数
- Nodejs 中用于获取调用的未捕获异常错误
- 如何使工作 Chrome 扩展程序的未捕获异常处理程序(由于 CORS 保护而不起作用)
- javascript异常对象格式
- React-如何只捕获父对象's onClick事件,而不是子事件
- 带有Select2的FormValidation未捕获异常:未为Select2定义查询函数
- 在JavaScript中定义函数时捕获异常
- 如何为 Backbone.save 捕获 xhr 对象
- Knockout:在提交和单击绑定中捕获异常
- 由eval()触发的异常对象的标准字段是什么?
- 在其初始化器对象中捕获异常
- JavaScript从函数或对象中捕获异常