Re: [問題] try...catch的使用時機

看板Programming作者時間16年前 (2009/06/06 21:38), 編輯推噓6(6011)
留言17則, 6人參與, 最新討論串3/4 (看更多)
※ 引述《makiyolove (暴力熊)》之銘言: : 老師要求我在寫程式的時候一定要做錯誤回報給使用者看 : 包含輸入型態錯誤 ...一些例外 : 感覺起來會寫一堆try...catch : 到底程式進行哪些事情的時候該使用try...catch呢? : 我的程式架構如下 : 使用者input一個csv(逗號分隔)檔案 : →陣列儲存→分析(包含篩選資料)→與外部檔案配對→output csv try catch是高階的表示方法, 很好用, 但付出的成本很大 你可以在好幾層呼叫之後的地方丟出一個例外狀況 而卻在最外頭收到這個例外 (中途如果沒先被處理掉的話就會持續往外丟) MFC理頭有很多例外, 說實在還真的很好用, 但缺點就是效能降低 如果有效能需求, 儘量少用, 如果是以開發便利而言, 可以儘量用 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.76.14

06/06 22:48, , 1F
其實我一直都想知道有多低,能量化嗎?
06/06 22:48, 1F

06/07 12:02, , 2F
我也想知道有沒有實驗證明降多低....
06/07 12:02, 2F

06/07 14:52, , 3F
先確認它是效能瓶頸再說吧...
06/07 14:52, 3F

06/07 14:52, , 4F
不然要因為OO比較慢而放棄OO?
06/07 14:52, 4F

06/07 16:36, , 5F
exception 只要一跳 CPU 就會亂掉
06/07 16:36, 5F

06/07 19:08, , 6F
其實有回傳值的用回傳值處理, 再在外面
06/07 19:08, 6F

06/07 19:09, , 7F
包一圈try...catch確保自己沒漏掉東西
06/07 19:09, 7F

06/07 19:09, , 8F
即可. try...catch的catch部份只要沒被
06/07 19:09, 8F

06/07 19:10, , 9F
執行, 對效能的影響幾可忽略不計, 當成
06/07 19:10, 9F

06/07 19:11, , 10F
安全網來用就對了.
06/07 19:11, 10F

06/08 05:57, , 11F
其實也不要完全因為效能問題就不使用
06/08 05:57, 11F

06/08 05:58, , 12F
try catch. 這樣算是因噎廢食
06/08 05:58, 12F

06/08 05:58, , 13F
程式瓶頸在哪是測出來的 不是只憑猜測
06/08 05:58, 13F

06/08 05:59, , 14F
如果你的程式真的出現效能問題,
06/08 05:59, 14F

06/08 05:59, , 15F
大部分的情況可能是其他地方 譬如sql query
06/08 05:59, 15F

06/08 05:59, , 16F
如果你可以把這些問題都解決了
06/08 05:59, 16F

06/08 06:02, , 17F
程式效能問題大概也解決了
06/08 06:02, 17F
文章代碼(AID): #1AAd5GvR (Programming)
文章代碼(AID): #1AAd5GvR (Programming)