Python은 주로 5가지 예외 메커니즘을 각각의 예와 함께 지원합니다.
기본 예외 처리기
s = 'Hello girl!' print s[100] print 'continue'
예외에 대해 아무런 예방 조치를 취하지 않으면 프로그램 실행 중에 예외가 발생하면 프로그램이 중단되고 Python의 기본 예외 처리기가 호출되며 예외 정보가 터미널에 출력됩니다. 이 경우 코드의 3번째 줄은 실행되지 않습니다.
try… Except
s = 'Hello girl!' try: print s[100] except IndexError: print 'error...' print 'continue'
프로그램이 두 번째 문장을 실행할 때 try 문을 찾아 try 문 블록에 들어간 다음 예외가 발생하면 Try 문 레이어에서 그 뒤에 Except 문이 있는지 확인하세요. Except 문이 발견되면 이 사용자 정의 예외 처리기가 호출됩니다. 제외가 예외를 처리한 후 프로그램은 계속 실행됩니다. 이 경우 마지막 두 개의 print 문이 실행됩니다.
out은 비어 있을 수도 있으며 이는 모든 유형의 예외가 포착되었음을 나타냅니다.
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 문이나 문 블록에서 예외가 발생하면 기본 예외 처리기가 호출되지만 파일은 여전히 정상적으로 닫힙니다.
이 경우 예외가 발생하고 최종 인쇄가 실행되지 않습니다.
위 내용은 파이썬에서 예외를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!