제목이 약간 잘못되었지만이 문제는 나에게 매우 솔직하게 보입니다. 내가 try-catch-finally
블록 있습니다. try
블록에서 예외가 throw 된 경우에만 finally
블록의 코드를 실행하고 싶습니다. 지금 코드의 구조는 다음과 같습니다finally 절에서 예외 처리
try
{
//Do some stuff
}
catch (Exception ex)
{
//Handle the exception
}
finally
{
//execute the code only if exception was thrown.
}
지금 내가 좋아하는 플래그를 설정하는 것입니다 생각할 수있는 유일한 해결책 :이 나쁜 일을 볼 수 있지만 경우가 궁금 것을하지
try
{
bool IsExceptionThrown = false;
//Do some stuff
}
catch (Exception ex)
{
IsExceptionThrown = true;
//Handle the exception
}
finally
{
if (IsExceptionThrown == true)
{
//execute the code only if exception was thrown.
}
}
던져진 예외가 있는지 확인하는 또 다른 (더 나은) 접근법입니까?
가 왜 캐치() 섹션에있는 코드를 삽입하지 않을까요? – Larry
당신이 찾고있는 것은 CLR에 존재하지만 C#에서는 구현되지 않은'fault'입니다. –
@Laurent - 여러개의'catch' 절이 있고 어떤 예외가 발생했을 때 실행되어야하는 몇 가지 공통적 인 코드가 더 실제적인 예가 될 것이라면 실제 사용법이 될 것이라고 생각합니다. –