一條簡單的規則可簡化Exception層次結構設計

2021-10-06 23:30:26 字數 908 閱讀 9334

每個新專案通常都需要建立乙個exception層次結構,通常總是相同的。

我將不詳細介紹是否應該擴充套件runtimeexception或直接擴充套件exception,或者層次結構根是否應為functionalexception / technicalexception或transientexception / persistentexception。 由於我當前的問題是完全不相關的,這些將再次成為咆哮。

情況如下:當在呼叫層中發生嚴重錯誤時( 即 ,來自身份驗證提供程式的身份驗證失敗),將使用已知的錯誤**(例如123)建立乙個新的functionalexception。

public

class

functionalexception

extends

runtimeexception

// other constructors

}

此時,此方法有一些不錯的優點:可以記錄錯誤**,並通過適當的錯誤訊息將錯誤**顯示給使用者。

缺點是為了分析在**中有效使用身份驗證失敗異常的位置是完全不可能的。 由於我一直堅持在此**庫上新增新功能的任務,所以我必須說這很浪費時間。 尊敬的讀者,在設計exception層次結構時,請新增以下內容:

public

class

authenticationfailureexception

extends

functionalexception

// other constructors

}

當然,這稍微有些冗長,但是您將保留所有上述優點,並讓像我這樣的可憐的維護者輕鬆地分析**。 提前謝謝了!

翻譯自:

EF中一條簡單的查詢語句

已知 從別的地方取來資料存入本地資料庫,儲存的時候,順帶將伺服器的時間也存起來 這個時間是以 datetime 型別儲存的 問題 當我從本地資料庫取資料的時候,如果發現這條資料是一小時之前存的,就刪除然後重新從遠端獲取資料存入本地資料庫,如果是一小時之記憶體的,就直接讀取這些資料。這個問題一點也不難...

簡單迷宮的實現 找一條通路

include include includeusing namespace std 求解路徑的基本思想 1.如果當前路徑能夠通過,將當前路經進行壓棧,為了回退 回溯法 並將走過的路標記成2 不能走1,0可以走 2.如果當前路徑上下左右都不能通過,則出棧 回溯 並且將當前路徑標為3 即將回溯路徑標記...

兩條合併一條,求最簡單的解法

資料庫的資料如下 stampday employeecd stamptype stamptime 2007 02 28 2200399 1 08 02 00.000 2007 02 28 2200399 2 18 01 00.000 2007 03 01 2200399 1 08 08 00.000...