Python은 주로 5가지 예외 메커니즘을 각각의 예와 함께 지원합니다.
기본 예외 처리기
s = 'Hello girl!' print s[100] print 'continue'
예외에 대한 예방 조치를 취하지 않으면 프로그램 실행 중에 예외가 발생하면 프로그램이 중단되고 Python의 기본 예외 처리기가 호출되며 예외 정보가 다음으로 출력됩니다. 터미널. 이 경우 코드의 3번째 줄은 실행되지 않습니다.
try...Exception
s = 'Hello girl!' try: print s[100] except IndexError: print 'error...' print 'continue'
프로그램이 두 번째 문장까지 실행되면 try 문을 찾아 실행을 위해 try 문 블록에 들어가고, try 문 계층으로 돌아가서 예외가 발생하는지 확인합니다. 그 뒤에는 Except 문이 있습니다. Except 문이 발견되면 이 사용자 지정 예외 처리기가 호출됩니다. 제외가 예외를 처리한 후 프로그램은 계속 실행됩니다. 이 경우 마지막 두 개의 print 문이 실행됩니다.
Exception은 비어 있을 수도 있으며, 이는 모든 유형의 예외가 포착되었음을 나타냅니다.
try...finally
s = 'Hello girl!' try: print s[100] finally: print 'error...' print 'continue'
finally 문은 예외 발생 여부에 관계없이 finally의 문을 실행해야 한다는 의미입니다. 그러나 예외 핸들러가 없기 때문에 최종 실행 후 프로그램이 중단됩니다. 이 경우 두 번째 인쇄는 실행되지만 첫 번째 인쇄는 실행되지 않습니다. try 문에 예외가 없으면 세 가지 인쇄가 모두 실행됩니다.
with…as
with open('nothing.txt','r') as f: f.read() print 2/0 print 'continue'
보통 파일류 스트림 객체를 사용할 때는 사용 후 닫히기 위해 close 메소드를 호출해야 하는데, 이게 굉장히 번거롭습니다. 여기서 with...as 문은 매우 편리한 대안을 제공합니다. open이 파일을 연 후 반환된 파일 스트림 객체를 f에 할당한 다음 with 문 블록에서 사용합니다. with 문 블록이 완료된 후 파일은 자동으로 숨겨집니다.
with 문이나 문 블록에서 예외가 발생하면 기본 예외 처리기가 호출되지만 파일은 여전히 정상적으로 닫힙니다.
이 경우 예외가 발생하고 최종 인쇄가 실행되지 않습니다.
위 내용은 Python 예외 처리 구조의 형태는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!