22
나는 왜 emma가 "finally"블록에 대한 완전한 코드 적용을 제공하지 않는지 알지 못합니다. 이것을 설명하기 위해 간단한 예제 프로그램을 만들었습니다. 나는이 프로그램을 실행하면왜 emma가 finally 블록을 완전히 덮지 않습니까?
는 보여줍니다
try
finally
을 마지막으로 빨간색 (실행되지 않음)과 "마지막" "에 println로 표시되는 이유 그래서하지 않는다"(부분적으로 실행) 노란색으로 표시된다 . 내가 놓친 게 있니? 어떻게 마마는 마침내 블록이 덮여 있다는 것을 이해하게합니까?
고마워요!
감사합니다. 사실 try 블록 안에 예외없이 코드를 실행하면 finally 블록을 완전히 덮을 수 있습니다. – stivlo
@stivlo 더 설명해 주시겠습니까? – JPM
@JPM 이유는 aioobe에서 제공하는 링크로 작성되었습니다. * 컴파일러는 try 블록에 예외가 발생했는지 여부에 관계없이 항상 finally 코드가 완료되도록해야합니다. 따라서 finally 블록으로 이어지는 가능한 경로는 두 가지가 있습니다. 예외가 있거나없는 예외입니다. * – stivlo