作者meltice (三億兩千萬大散戶)
看板Programming
標題Re: [問題] C++ try-catch語法
時間Mon Sep 24 16:28:43 2007
我始終不懂try catch怎麼用
例如到底該catch什麼東西
catch(...)雖然可以catch到全部但是卻不知道是catch到什麼東東
catch到的pointer到底要不要在delete或Release
前一陣子使用try catch(...)
搞了半天不知道程式錯在哪裡
因為function也是別人寫的我沒有source code
最後找到因為別人的function裡面call CopyMemory
然後他沒有去處裡CopyMemory也會產生的exception
結果讓我catch到
然後換我不知道到底是錯在哪裡
反正try catch就是一整個很亂七八糟的東西
會讓自己讓別人都亂七八糟的東西
還是用if else最清楚明白一目暸然
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.19.218
1F:推 LPH66:我倒覺得那是寫那個函式的人的錯 @@ 219.84.44.21 09/24 16:37
2F:→ LPH66:要嘛就catch下來處理 要嘛寫個doc說有例外 219.84.44.21 09/24 16:37
3F:推 PsMonkey:還是寫 Java 好 [毆飛] 61.228.199.67 09/24 17:26
4F:推 sunneo:Java開發速度真的不錯..=3=220.132.228.138 09/24 17:35
5F:推 meltice:微軟MSDN也沒有說CopyMemory會有exception 218.211.19.218 09/24 20:34
6F:→ meltice:而且如果任何exception都要handle的話 218.211.19.218 09/24 20:35
7F:→ meltice:那程式碼應該會長的很難看 218.211.19.218 09/24 20:35
8F:推 leicheong:不過GetErrorMessage()回傳了甚麼錯誤 219.73.78.36 09/24 20:41
9F:→ leicheong:信息? 219.73.78.36 09/24 20:42
10F:→ meltice:CopyMemory當寫入不合法的位址就會excepti 218.211.19.218 09/24 21:57
11F:推 leicheong:這... 不是很明顯嗎? 任何有學pointer 202.134.126.84 09/25 10:07
12F:→ leicheong:的人不用說也應該知道吧? 202.134.126.84 09/25 10:08
13F:→ iscu:我看過的code 用try 時..都是有寫api可能會去 220.132.88.22 10/04 02:45
14F:→ iscu:讀取某個檔案,或建立什麼東西的,要是在某些情 220.132.88.22 10/04 02:45
15F:→ iscu:況下會pop Dialog..整個程式死給你看.. 220.132.88.22 10/04 02:46
16F:→ iscu:用try的話可以在程式一錯就跳到catch ~ 220.132.88.22 10/04 02:47