3

我无法弄清楚如何从调用的函数中捕获异常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 语句。

4

3 回答 3

6

你也许可以使用onerror

img.onerror = onErrorFunction;

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

于 2012-11-20T01:19:18.443 回答
0

您可以设置 window.onerror ,它将在页面上任何地方的其他未被捕获的异常上调用。

于 2012-11-20T01:03:58.000 回答
-1

由于 onload 是异步发生的,因此 catch 不可能抛出语句。

于 2012-11-20T01:00:50.207 回答