首先,C++中是否存在不可捕捉的異常?不可捕捉的異常?
我見過一個2005年微軟kb article,討論在一個DLL引發的異常,不能在另一個DLL被抓住。看起來這是用多年前的一個修補程序解決的,但我現在可能會遇到這個問題 - 使用Visual C++ 2008.
具體而言,基於崩潰後的小型轉儲文件報告,在調用:: fgetpos I期間「M看到的是:
kernel32!UnhandledExceptionFilter+0x55b
兩件事情在我的頭上彈出。首先我注意到指定的catch塊,位於與調用DLL分離的DLL中,沒有捕獲異常!這是知識產權文章描述的重複嗎?其次,我懷疑kernel32「未處理的異常」是否是Visual C++ catch塊無法捕捉的。我認爲使用「全能」elipses就足夠了。
有什麼我失蹤了嗎?
拋出的異常是什麼?你還使用C++或SEH異常處理程序嗎?如果沒有異常處理程序處理異常,則UnhandledExceptionFilter進程會處理異常,但異常可能已由代碼處理。 – Avilo 2011-02-19 03:16:04