2016-12-22 2 views

답변

11

PyCharm이 맞습니다. open()이 실패하면 예외가 발생하고 return이 아닙니다.

with 컨텍스트 관리자를 생성하는 표현식에서 예외로부터 사용자를 보호하지 않습니다. with 이후의 표현식은 컨텍스트 관리자를 생성 할 것으로 예상됩니다.이 때 컨텍스트 관리자는 __exit__ 메서드가 저장되고 __enter__ 메서드가 호출됩니다. 유일한 결과는 컨텍스트 관리자가 성공적으로 생성되고 입력되었거나 예외가 발생한다는 것입니다. 어느 시점에서도 with은이 단계에서 예외를 삼켜 버리고 자동으로 블록을 건너 뜁니다.

관련 문제