這是一個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