我有一個簡單的try/catch塊奇的try/catch行爲
try
{
// Open the connection
_connection.Open(); // [1]
}
catch(OracleException ex) // [2]
{
// Handle the exception
int x = ex.ErrorCode;
}
永遠不會執行的漁獲物和運行報告「OracleException是未處理的」在[1]這只是讓我目瞪口呆。顯然,我有一個關聯的異常類型的catch語句。我甚至在[2]處嘗試了完全限定類型Oracle.DataAccess.Client.OracleException,但仍然未處理異常。
實際上,我可以得到捕捉工作的唯一方法是在[2]捕捉System.Exception的。什麼導致了這種奇怪的行爲?
當你發現'Exception'當你寫的'ex.GetType什麼是印刷()的ToString()'? – ChaosPandion 2010-07-12 17:49:21
聽起來像是OracleException被封裝在一個不同類型的Exception中。完整的堆棧跟蹤是什麼意思? – Chris 2010-07-12 17:50:08
當被捕獲爲異常時,它返回「Oracle.DataAccess.Client.OracleException」 – Matthew 2010-07-12 17:57:28