나는 간단한 try/catch 블록을홀수 시도/캐치 동작
try
{
// Open the connection
_connection.Open(); // [1]
}
catch(OracleException ex) // [2]
{
// Handle the exception
int x = ex.ErrorCode;
}
캐치가 실행되지 및 런타임 보고서 [1] 어떤 그냥 내 머리 회전을 만드는에서 'OracleException이 처리되지 않은했다'결코 있습니다. 분명히 관련 예외 유형에 대한 catch 문이 있습니다. 나는 [2]에서 정규화 된 유형 인 Oracle.DataAccess.Client.OracleException을 시도했지만 여전히 예외는 처리되지 않았습니다.
실제로 잡을 수있는 유일한 방법은 [2]에서 System.Exception을 잡는 것입니다. 이 이상한 행동을 일으키는 원인은 무엇입니까?
'Exception'을 잡을 때'ex.GetType(). ToString()'을 쓸 때 출력되는 것은 무엇입니까? – ChaosPandion
OracleException이 다른 유형의 Exception으로 래핑되는 것 같습니다. 전체 스택 추적은 무엇을 말합니까? – Chris
Exception으로 잡히면 "Oracle.DataAccess.Client.OracleException"이 반환됩니다. – Matthew