Re: [問題] 請問exception能用if else取代嗎?
※ 引述《poopoo888888 (阿川)》之銘言:
: 大家好 小弟是程式新手
: 最近在學習上遇到了一個觀念問題
: 就是exception的用處
: 我知道它用來解決例外狀況
: 可是這樣的功能 不能用一連串的if、else if、else來處理掉嗎?
: 平時寫code也會用if.. else來確保一些變數內容的正確性不是嗎?
: 還是說exception的確完全可用if else取代
: 但是用exception有其他方便的地方?
: 煩請版上各位大大解惑了 謝謝!
以前沒有 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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.184.77
→
08/16 10:13, , 1F
08/16 10:13, 1F
推
08/16 10:14, , 2F
08/16 10:14, 2F
推
08/16 10:35, , 3F
08/16 10:35, 3F
→
08/16 10:36, , 4F
08/16 10:36, 4F
→
08/16 10:36, , 5F
08/16 10:36, 5F
→
08/16 10:37, , 6F
08/16 10:37, 6F
推
08/17 10:47, , 7F
08/17 10:47, 7F
討論串 (同標題文章)