如何捕获图像onload中的异常

时间:2012-11-20 00:57:56

标签: javascript image exception-handling try-catch

我无法弄清楚如何从image.onload调用的函数中捕获异常。请注意以下示例:

function afterImgLoads() {
     throw 'This is being thrown from img.onload!';
}

try {
    var img    = new Image();
    img.onload = afterImgLoads;
    img.src    = 'path/to/valid/image.jpg';
} catch(e) {
    throw 'This is being thrown after setting img.src';
}

在上面的例子中,当afterImgLoads()抛出自己的错误时,我无法弄清楚如何获取第二个throw语句。

3 个答案:

答案 0 :(得分:5)

您可以使用onerror

img.onerror = onErrorFunction;

如果加载图像时出错,它将调用该函数

答案 1 :(得分:0)

您可以设置window.onerror,它将在页面上任何位置的未捕获异常中调用。

答案 2 :(得分:-2)

由于onload异步发生,所以catch不能抛出语句。