我剛剛發現自己處於需要處理異常的情況下,因爲出於好奇,我可能永遠不會得到這個異常,我們來做一個小調查。處理缺少的資源
您是否驗證程序中是否存在資源?我的意思是,隨程序一起安裝的那些資源,如圖標,圖像和類似資源。通常,如果缺少這些內容,安裝程序無法執行其任務,或者用戶在應用程序中隨機刪除了文件。
如果您確實存在,那麼當文件不存在時您會做什麼?
當然,對於網絡應用程序,您將擁有漂亮的404頁面或斷開的鏈接,但其餘的呢?儘早失敗,是的,但將處理失敗留給編譯器,或者什麼?
我剛剛發現自己處於需要處理異常的情況下,因爲出於好奇,我可能永遠不會得到這個異常,我們來做一個小調查。處理缺少的資源
您是否驗證程序中是否存在資源?我的意思是,隨程序一起安裝的那些資源,如圖標,圖像和類似資源。通常,如果缺少這些內容,安裝程序無法執行其任務,或者用戶在應用程序中隨機刪除了文件。
如果您確實存在,那麼當文件不存在時您會做什麼?
當然,對於網絡應用程序,您將擁有漂亮的404頁面或斷開的鏈接,但其餘的呢?儘早失敗,是的,但將處理失敗留給編譯器,或者什麼?
在Python中,很多人都依賴於這種事情的簡單異常處理。我們可能會將一個應用程序封裝在一個Big-Old-Try-Block中,報告像這樣的不可處理的異常的「嚴重問題」,並嘗試清理並正常退出。
這很難提前深入檢查。
如果用戶甚至有可能獲得應用程序中某些超級微妙和寶貴的部分,並且該應用程序將無法工作數小時(或數年),那麼您應該重新考慮該用例以創建更強大的場景,其中崩潰並不是那麼具有破壞性。
優雅降級:
...但沒有,在很多情況下,它並不重要,如果資源缺失,這是違反程序的結構完整性。在我上面的圖片中,這是一個視頻遊戲,資源通過網絡加載,有時(我認爲?)服務器不提供所需的紋理,因此它們顯示爲粉紅色和黑色棋子。在這種情況下,它有點意義。