1. 程式人生 > >不要把異常當做業務邏輯,這效能可能你無法承受

不要把異常當做業務邏輯,這效能可能你無法承受

## 一:背景 ### 1. 講故事 在專案中摸爬滾打幾年,應該或多或少的見過有人把異常當做業務邏輯處理的情況(┬_┬),比如說判斷一個數字是否為整數,就想當然的用`try catch `包起來,再進行 `int.Parse`,如果拋異常就說明不是整數,簡單粗暴,也不需要寫正則或者其他邏輯,再比如一個字串強制轉化為Enum,直接用`Enum.Parse`,可能是因為對異常的開銷不是特別瞭解,這種不好的使用習慣也許被官方發現了,後續給我們補了很多的Try字首的方法,比如:`int.TryParse` , `Enum.TryParse`, `dict.TryGetValue` ,用程式碼展示如下: ``` C# //原始寫法 var num = int.Parse("1"); //使用try方式 var result = 0; var b = int.TryParse("1", out result); ``` 用Try系列方法沒毛病,但這寫法讓人吐槽,還要單獨定義result變數,沒撤,官方還得靠我們這些開發者給他們發揚光大