Re: [問題] 請問exception能用if else取代嗎?
: 以前沒有 exception 的時候,常常會看到這種程式碼
: (-1這個數值常用在發生錯誤時回傳,而 perror 可以印出錯誤原因)
: if (function1(xxx) == -1) {
: perror("ERROR: ");
: exit(1);
: }
: if (function2(yyy) == -1) {
: perror("ERROR: ");
: exit(1);
: }
: 如果有了 exception :
: try
: {
: function1(xxx);
: function2(xxx);
: }
: catch (Exception e)
: {
: Console.WriteLine(e.Message);
: Console.Exit(1);
: }
: 程式碼變得比較簡潔、而重覆的程式碼也變少了
: 而且把所有「正常執行」的程式與「錯誤處理」的程式分開
: 對架構更能一目瞭然
: C語言就是完全沒有 exception,全部都要用 if-else 來寫
: 它仍然是很好用的程式語言,不過有的時候真的會覺得很煩...XDD
謝謝這位大大
所以我最後所問「還是說exception的確完全可用if else取代
但是用exception有其他方便的地方?」
這段敘述是對的囉!
但我總覺得我會寫出「用if else除錯」跟「用exception除錯」混雜的程式碼
是不是if else只用來處理合法狀況 其餘的全部交給exception比較好
而不要試圖用if else除錯?
還是有什麼使用這兩者上的時機與訣竅?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.25.104
推
08/16 14:34, , 1F
08/16 14:34, 1F
→
08/16 14:34, , 2F
08/16 14:34, 2F
推
08/16 15:34, , 3F
08/16 15:34, 3F
推
08/16 19:23, , 4F
08/16 19:23, 4F
推
08/16 22:33, , 5F
08/16 22:33, 5F
→
08/16 22:34, , 6F
08/16 22:34, 6F
→
08/16 22:35, , 7F
08/16 22:35, 7F
→
08/16 22:35, , 8F
08/16 22:35, 8F
→
08/16 22:38, , 9F
08/16 22:38, 9F
→
08/16 22:38, , 10F
08/16 22:38, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):