try
{
operation1();
operation2();
...
}
finally
{
try
{
finalizer_operation1();
finalizer_operation2();
}
finally
{
very_critical_finalizer_operation_which_should_occurs_at_the_end();
}
}
괜찮습니까? finalizer_operationX()
던질 수 있고, 내가 very_critical...()
의지가 마지막에 발생하는지 확인해야하기 때문에 (다른 try/finally
블록으로 파이널을합니다.finally 블록을 시도하십시오.
빠른 인터넷 검색 당신이 나에게 중복 된 링크를 제공하는 경우 질문을 삭제합니다 (아무것도 제공하지), 그것은 해야 작동하지만 I가 디자인 가능한 문제가 확실치. 그것이 물론
그냥 당신은 내가 어떤 문제가 표시되지 캐치 섹션 – yonutix
에서 return 문을 경우에도, 절은 항상 실행 마무리 것을 명심 확인해야합니다. 예를 들어,'finally' 블록에서 어떤 메소드를 호출하면, 그 블록은'try-finally' 블록을 포함합니다 - 특별한 것은 없습니다. 귀하의 경우에는 동일한 방법으로 발생합니다. –
@CosminMihai, 여기에는 'catch 섹션'이 없습니다.) – Sinatr