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()上記の例では、が独自のエラーをスローするときに 2 番目の 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 に答える