Ho un semplice blocco try/catchProva Pari/Cattura Comportamento
try
{
// Open the connection
_connection.Open(); // [1]
}
catch(OracleException ex) // [2]
{
// Handle the exception
int x = ex.ErrorCode;
}
La cattura non viene mai eseguito e le relazioni di runtime 'OracleException è stata gestita' in [1], che fa solo girare la testa. Chiaramente, ho una dichiarazione di cattura per il tipo di eccezione associato. Ho persino provato il tipo completo, Oracle.DataAccess.Client.OracleException in [2] e ancora l'eccezione non è gestita.
L'unico modo in cui posso effettivamente far funzionare la cattura è catturare System.Exception in [2]. Qual è la causa di questo strano comportamento?
Quando si cattura 'Exception' cosa viene stampato quando si scrive' ex.GetType(). ToString() '? – ChaosPandion
Sembra che OracleException sia incluso in un diverso tipo di Eccezione. Cosa dice la traccia dello stack completo? – Chris
Quando viene rilevato come Eccezione, restituisce "Oracle.DataAccess.Client.OracleException" – Matthew