報告のあったエラー発生時の状況では特段メモリの空きが逼迫している様子ではなかったことや、MSDN の
Image.FromFile() メソッドのページには GDI+ のエラーによって OutOfMemoryException が発生する
という記述があることから、メモリ使用量に関係なく画像データの問題によってこの例外が発生するものと判断し
発生した場合は不正な画像として扱うことで対処しました。
stream.Dispose();
throw new InvalidImageException("Invalid image", e);
}
+ catch (OutOfMemoryException e)
+ {
+ // GDI+ がサポートしない画像形式で OutOfMemoryException がスローされる場合があるらしい
+ stream.Dispose();
+ throw new InvalidImageException("Invalid image?", e);
+ }
+ catch (Exception)
+ {
+ stream.Dispose();
+ throw;
+ }
this.Stream = stream;
}
更新履歴
==== Ver 1.1.5-beta1(2013/xx/xx)
+ * FIX: 取得したプロフィール画像が壊れていた場合のエラー処理を改善 (thx @7mencho!)
==== Ver 1.1.4(2013/10/19)
* CHG: タブ振り分けルールでのスクリーン名に対するヒット条件が、「複合条件」では完全一致、「単一条件」では部分一致となっていたため完全一致に統一