안전한 코드를 작성하기 위한 예외 처리 방법
프로그래밍을 하다 보면 예기치 않은 오류나 문제가 발생할 수 있습니다.
이런 상황에서 프로그램이 갑자기 종료되지 않고, 적절한 대처를 하려면 예외 처리가 필요합니다.
이번 수업에서는 예외의 개념과 파이썬에서 예외를 처리하는 방법을 알아보겠습니다.
프로그래밍에서 예외란 무엇인가요?
프로그래밍에서 예외(Exception)
는 코드가 실행되는 동안 발생하는 예기치 않은 상황이나 오류를 뜻합니다.
예를 들어 존재하지 않는 파일을 열려고 하거나, 숫자가 아닌 값을 숫자로 변환하려 할 때 예외가 발생할 수 있습니다.
이러한 예외가 발생하면 프로그램은 즉시 종료되며, 그 이후의 코드가 실행되지 않습니다.
따라서 예외 처리를 통해 이러한 오류를 예방하거나 발생했을 때 적절히 대처하는 것이 중요합니다.
파이썬에서 예외 처리하기
파이썬에서는 try
, except
, finally
구문으로 예외를 처리합니다.
예외를 처리하는 기본 구조, try와 except
try
블록 안에 예외가 발생할 가능성이 있는 코드를 작성하고, except
블록에서 그 예외를 처리합니다.
예외가 발생하면 try
블록의 나머지 코드는 실행되지 않고 곧바로 except
블록으로 넘어갑니다.
try: # 사용자로부터 숫자를 입력받아 정수 타입으로 변환 number = int(input("숫자를 입력하세요: ")) # 입력받은 숫자로 10을 나누어 result 변수에 저장 result = 10 / number # 결과 출력 print(f"결과: {result}") # 사용자가 숫자가 아닌 값을 입력했을 때 ValueError 예외 발생 except ValueError: # 숫자가 아닌 값을 입력했을 때 출력되는 메시지 print("숫자를 입력해주세요") # 사용자가 0을 입력했을 때 ZeroDivisionError 예외 발생 except ZeroDivisionError: # 0을 입력했을 때 출력되는 메시지 print("0으로 나눌 수 없습니다")
위 코드에서는 사용자가 숫자가 아닌 값을 입력했을 때 ValueError
가 발생하며, 0을 입력했을 때는 ZeroDivisionError
가 발생합니다.
각각의 예외를 except
블록에서 처리해 프로그램이 중단되지 않도록 합니다.
무조건 실행되는 코드, finally
finally
블록은 예외 발생 여부와 관계없이 항상 실행되는 코드 블록입니다.
이 블록은 파일을 닫거나, 리소스를 해제하는 등 프로그램이 끝날 때 반드시 수행되어야 하는 작업을 적는 곳입니다.
try: # example.txt 파일을 읽기 모드로 열기 file = open("example.txt", "r") content = file.read() print(content) # 파일이 없을 때 FileNotFoundError 예외 발생 except FileNotFoundError: print("파일을 찾을 수 없습니다") # 예외 발생 여부와 상관없이 파일을 닫음 finally: file.close() print("파일을 닫았습니다")
위 코드 예제에서 열람하려는 파일이 존재하지 않으면 FileNotFoundError
가 발생하지만, finally
블록은 예외가 발생하더라도 파일을 닫는 작업을 수행합니다.
이처럼 finally는 코드의 마무리 작업을 위해 사용합니다.
파이썬에서 예외를 처리할 때 사용되는 기본 구조는 무엇인가요?
if, else
for, while
try, except
def, return
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
실행 결과