我一直在更新現有庫以引發異常,以幫助改善使用庫的人員的調試。首先,我想我會定義特定於每個類的異常,然而事實證明,這些異常大多隻是現有運行時異常的擴展(例如,FooNegativeIntArgumentException extends IllegalArgumentException
,FooNullBarException extends NullPointerException
),並帶有特定的消息。Java,特定於類的異常與標準異常
什麼是定義新的例外與使用現有的例外的權衡?是否有任何公約/最佳做法?另外,考慮到向後兼容的需要,這些異常中的大多數(如果不是全部)是運行時異常。
感謝提供詳細信息的答案,爲什麼不一般地使用自定義異常,以及它們實際上有用的情況。 – Carl 2010-01-12 19:54:28