문제

캐치와 마지막으로 블록을 던지면 예외가 발생하면 어떻게됩니까?

도움이 되었습니까?

해결책

finally 블록은 예외를 던지면 예외를 효과적으로 숨 깁니다. catch 막히고 궁극적으로 던져 질 것입니다. 따라서 잡힌 경우 로그 예외를 예외로하는 것이 중요하거나 최종 블록 자체가 예외를 던지지 않도록하는 것이 중요합니다. 그렇지 않으면 스티프하고 보지 못한 예외를 얻을 수 있습니다.

다른 팁

캐치가 예외를 던지면 마지막으로 블록이 실행 된 다음 예외로 종료됩니다. 마지막으로 블록이 예외를 던지면 블록은 예외로 종료됩니다.

마지막 예외는 던져졌습니다.

Adrianbanks에 의해 이미 잘 대답되었지만 다음 게시물은 흥미로워 야합니다.흥미로운 예외 결과 : 마침내 블록에서 예외를 던지기

안녕 nwaman 나는 당신이 대답이 잘못되었다고 생각합니다.

try
{
    string s = "hu";
    int i = int.Parse(s);
}
catch (Exception ex)
{
    string s = "hu";
    int i = int.Parse(s);
    throw new Exception();
}
finally
{
    MessageBox.Show("hi");
}

그리고 이것은 마침내 굴복하지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top