캐치와 마지막으로 블록을 던지면 예외가 발생하면 어떻게됩니까?
-
18-09-2019 - |
문제
캐치와 마지막으로 블록을 던지면 예외가 발생하면 어떻게됩니까?
해결책
때 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");
}
그리고 이것은 마침내 굴복하지 않을 것입니다.
제휴하지 않습니다 StackOverflow