Image(SWFLoader)で読み込みエラーになったときにエラー用の画像を表示したい

ちょっとひっかかったのでメモ。
自分はImageを継承したクラス内で記述しているけど、外からでもできると思う。
まず、HTTP_STATUSイベントを待つ。

image.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHttpStatus);

onHttpStatusは次のように書く。

private function onHttpStatus(event : HTTPStatusEvent) : void
{
  this.removeEventListener(HTTPStatusEvent.HTTP_STATUS, onHttpStatus);
  if (event.status == 404) {
    image.callLater(function() : void { image.load(e404); } );
  }else{
    ...
  }
}

e404は埋め込んだ画像。別になんでもいいんだけど。

[Embed("../../../res/icon/404.jpg")] private static var e404 : Class;

で、callLaterを使うのがミソで、これを使わないとなぜかわからないがload(e404)は無視されてしまう。
これを応用すれば自動リロードもできそうだ。