我試圖找出什麼異常的正確形式拋出將是我寫的庫。我需要處理的一個例子是將用戶登錄到電臺。他們通過掃描徽章來做到這一點。可能的事情可能出錯包括:何時使用自定義異常與現有的例外與一般例外
- 他們的徽章被停用
- 他們沒有權限在這個車站工作
- 掃描系統
- 他們已經不存在的徽章登錄到別處
- 數據庫中另一站下來就是
- 內部數據庫錯誤(有時會發生,如果徽章沒有得到正確設置)
使用這個庫將不得不處理這些異常的一種方式或其他應用程序。他們可能會決定只是說「錯誤」,或者他們可能想給用戶更多有用的信息。這種情況下的最佳做法是什麼?爲每種可能性創建一個自定義異常?使用現有的例外?使用例外並通過原因(throw new Exception("Badge is deactivated.");
)?我認爲這是前兩種方式的組合,在適用的情況下使用現有的例外情況,並在需要時創建新的例外情況(並在有意義的情況下對例外進行分組)。