Python:Exception Handling

aiden·2023년 6월 21일
0

Python

목록 보기
14/14

Exception

어느 언어로 프로그램을 작성하든지 간에, 예외가 발생할 수 있다. 파이썬 실행 도중 발생하는 오류를 예외라 하는데, 예외가 발생하여 프로그램이 비정상 종료된다면 여러 문제가 발생할 수 있으며 어디에서 오류가 발생했는지 사용자는 알기 어렵다. 따라서 오류가 발생하더라도 적절한 메시지와 조치를 취한 뒤 종료하는 것이 바람직한데, 이를 처리하는 것을 예외처리라 한다.

오류는 다양한 부분에서 발생할 수 있는데, 사용자 입력 오류, 네트워크 오류, 인덱스 접근 오류, 파일 입출력 오류 등이 있을 수 있다.

Try-Catch

이 때, try-catch 구문을 이용해 예외 처리를 하는 것이 좋다. 다음과 같은 구조를 가진다.

다음 예시를 보자.

시스템이 반환하는 오류 메시지를 출력하고 싶은 경우 다음과 같이 작성하면 된다.

#except 블록 내용 변경
except ZeroDivisionError as e:
	print(e)

division by zero

다음은 파일 오픈 시 발생하는 오류 처리 예시이다.

하나의 try 블록에서 많은 예외가 발생하거나, 어떤 예외가 발생할 지 알 수 없는 경우도 있기 때문에 다중 예외 처리도 가능하다. 다중 예외 처리는 다음과 같은 구조를 가진다.

예외가 발생하지 않은 경우 except 블록을 건너뛰고 실행한다.

예외의 내용이 작성되지 않은 except 블록은 발생하는 모든 예외를 처리하는 블록이 된다.

Try-Finally

try-finally 구문은 예외 발생 여부와 관계 없이 항상 실행되어야 하는 문장이 있을 때 사용한다. finally 블록은 항상 실행된다. 예를 들어 파일 입출력 이후 항상 파일을 닫아야하기 때문에 close() 함수를 finally 블록에 둘 수 있다.

profile
파인애플 좋아하세요?

0개의 댓글