[問題] 驗證資料的處理方式
請問各位
小弟目前接手到新同事寫的code覺得有些問題
例如要verify前端送來的資料格式是否正確
同事的寫法都是自定義一個exception
然後if判斷是否滿足不合格的條件
是的話就塞錯誤訊息給exception
然後throw new exception
但我記得發生exception這對程式來說是需要額外的成本
而且這些資料的情況其實算是「已知」的情況不算例外
我看過覺得比較好的作法
是把verify的部份獨立成一個method
只要有不合格的條件就回傳一個字串的錯誤訊息
完全正確就回傳一個string.empty就好
我外面只要判斷回傳值是否為empty就好
不曉得同事這樣寫的方式是不是真的不好呢?
他目前看起來沒什麼特殊考量
就只是存脆驗證失敗就丟錯誤訊息而已
或是大家有什麼更好的方式呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.233.159.254
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1513778849.A.1A5.html
※ 編輯: aoksc (118.233.159.254), 12/20/2017 22:09:24
→
12/20 22:24,
6年前
, 1F
12/20 22:24, 1F
→
12/20 22:26,
6年前
, 2F
12/20 22:26, 2F
→
12/20 22:27,
6年前
, 3F
12/20 22:27, 3F
→
12/20 22:29,
6年前
, 4F
12/20 22:29, 4F
→
12/20 22:30,
6年前
, 5F
12/20 22:30, 5F
→
12/20 22:31,
6年前
, 6F
12/20 22:31, 6F
他是一個失敗定義一個Exception沒錯
但就變成如果verify有10種失敗的情況
外面的method就要寫10個catch去捕捉例外
所以各位是覺得這樣寫可以看的更清楚?
推
12/20 22:37,
6年前
, 7F
12/20 22:37, 7F
→
12/20 22:38,
6年前
, 8F
12/20 22:38, 8F
※ 編輯: aoksc (118.233.159.254), 12/20/2017 22:42:17
→
12/20 23:10,
6年前
, 9F
12/20 23:10, 9F
→
12/20 23:10,
6年前
, 10F
12/20 23:10, 10F
我現在問的就是在規格內預期可能的錯誤用exception丟的問題…
※ 編輯: aoksc (118.233.159.254), 12/20/2017 23:52:34
→
12/21 02:24,
6年前
, 11F
12/21 02:24, 11F
推
12/21 10:34,
6年前
, 12F
12/21 10:34, 12F
→
12/21 10:34,
6年前
, 13F
12/21 10:34, 13F
→
12/21 10:34,
6年前
, 14F
12/21 10:34, 14F
→
12/29 07:17,
6年前
, 15F
12/29 07:17, 15F