[問題] Exception, Assertion或其他error handle
大家好
始終有一個極大的疑點沒辦法了解
就是關於c++的exception或其他不太理解的error handling...
提出來請各位解解惑...因為常常會遇到程式crash 可是卻不知該怎handle
目前我有必要使用vswprintf_s 這個api 來做一些字串處理
http://msdn.microsoft.com/zh-tw/library/xa1a1a6z(v=vs.80).aspx
但是我發現
只要丟入的format string 不合法
例如我丟"%" 他就會raise 不知道什麼東西....
Debug mode 我看他是assertion
所以我就用Release build...
他跑到 vswprintf_s那行之後 就當掉了
我從messagebox 看不出她到底是throw exception還是怎樣...
所以我嚐試使用
try{} catch(...){}
和
__try{} __except(1){}
去試圖把exception攔截...
但結果是 根本攔不到...
他到底是raise 什麼東西 讓我無法handle?
還是說除了exception外 還有一些error handling的技巧是我不曉得的?
因為這個API 我在Desktop平台外使用
他的error message寫 "Unhandle Exception......."
既然是exception 為啥我catch不到 實在沒道理
現在變成 使用任何API 我都要去詳查他所可能引發的error
像是MSDN寫的 利用_set_invalid_parameter_handler
把這個error case導向自訂的function去handle....
在這之前我根本也不知道有這種寫法@@
請教各位是不是除了exception外 有其他未知的 是我絕對無法handle
程式必定會當掉的嗎?
附上測試小程式
http://codepad.org/gVBND9u5
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.64.222
推
08/09 14:11, , 1F
08/09 14:11, 1F
→
08/09 14:11, , 2F
08/09 14:11, 2F
推
08/09 14:14, , 3F
08/09 14:14, 3F
→
08/09 14:15, , 4F
08/09 14:15, 4F
→
08/09 14:17, , 5F
08/09 14:17, 5F