これは、Javaスニペットですが、私はこの質問を他の言語に関係していることを推測する...大きな画像がGUIに表示されない場合はどうすればよいですか?
public BufferedImage getVisualisation(){
try {
BufferedImage visualisation = ImageIO.read(from some inputStream);
return visualisation;
} catch (IOException e) {
// What do I do here?
}
}
コードはどこからいくつかのデータを読み込み、BufferedImageを生成しようとします。この画像はJPanelなどで表示されます。 IOプロセスがウォブルを投げて失敗し、IOExceptionがスローされ、すぐにcatchブロックによって捕捉されたとしましょう。
もう一度例外をスローしますか? nullを返しますか? GUI上に適切なイメージが表示されることを期待するコードがあると考えてください。数値計算が間違って0やnullを返すようなものではありません。 GUIの大部分が描画されない可能性があります。問題があることをユーザーに知らせるために、破損したウィンドウ枠などの別のBufferedImageを作成しますか?それとも、塗装されていないままにして警告ダイアログをポップアップしますか?または、あなたはnullを返すだけで、さらにストリームを処理しますか?
このような場合、ユーザーに最高のエクスペリエンスを提供するためのベストプラクティスは何ですか。
例外を処理できない場合は、まず例外をキャッチしないでください。あなたがそれを扱うことができる場所に例外のバブルをスタックさせましょう。 – Blorgbeard