Chapter 9. 예외처리

IT 지식 / Python·2026.08.25
PYTHON ADVANCED
Chapter 9. 예외처리
프로그램 실행 중 발생할 수 있는 오류를 처리하는 방법에 대해 배웁니다.

9.1 예외처리란?

프로그램을 실행하다 보면 다양한 오류가 발생할 수 있습니다. 예를 들어,

  • 숫자가 아닌 문자를 입력한 경우
  • 0으로 나누는 경우
  • 존재하지 않는 파일을 읽는 경우

이처럼 프로그램 실행 중 발생하는 오류를 예외(Exception)라고 합니다.

예외처리를 사용하면 프로그램이 갑자기 종료되지 않고 오류를 처리하면서 계속 실행할 수 있습니다.

예외처리가 필요한 이유는 예외처리를 하지 않으면 프로그램이 오류와 함께 종료되기 때문입니다.

예제 코드
num = int(input("숫자 입력 : "))
print(100 / num)

입력: 0

실행 결과
ZeroDivisionError
프로그램이 강제로 종료됩니다.
9.2 try 문

예외가 발생할 가능성이 있는 코드는 try 블록 안에 작성합니다.

기본 문법은 다음과 같습니다.

기본 문법
try:
    실행문
except:
    실행문
예제 1.
예제 코드
try:
    num = int(input("숫자 입력 : "))
    print(100 / num)
except:
    print("오류가 발생했습니다.")

입력: 0

실행 결과
숫자 입력 : 0
오류가 발생했습니다.
프로그램이 종료되지 않고 계속 실행됩니다.
예제 2.
예제 코드
try:
    num = int(input("숫자 입력 : "))
    print(num)
except:
    print("숫자만 입력하세요.")

입력: abc

실행 결과
숫자 입력 : abc
숫자만 입력하세요.
9.3 except 문

except는 발생한 예외를 처리하는 부분입니다. 특정 오류만 처리할 수도 있습니다.

ZeroDivisionError
예제 코드
try:
    num = int(input("숫자 입력 : "))
    print(100 / num)
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")
ValueError
예제 코드
try:
    age = int(input("나이 입력 : "))
except ValueError:
    print("숫자를 입력하세요.")
여러 개의 예외 처리
예제 코드
try:
    num = int(input("숫자 입력 : "))
    print(100 / num)
except ValueError:
    print("숫자를 입력하세요.")
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

입력: A

실행 결과
숫자를 입력하세요.

입력: 0

실행 결과
0으로 나눌 수 없습니다.
예외 정보 출력
예제 코드
try:
    num = int(input())
    print(100 / num)
except Exception as e:
    print("오류 발생 :", e)

입력: 0

실행 결과
오류 발생 : division by zero
9.4 finally 문

finally는 예외 발생 여부와 관계없이 반드시 실행되는 코드를 작성할 때 사용합니다. 주로 파일 닫기, 데이터베이스 연결 종료 등에 사용합니다.

기본 문법은 다음과 같습니다.

기본 문법
try:
    실행문
except:
    실행문
finally:
    실행문
예제 1.
예제 코드
try:
    print("프로그램 실행")
except:
    print("오류 발생")
finally:
    print("프로그램 종료")
실행 결과
프로그램 실행
프로그램 종료
예제 2.
예제 코드
try:
    num = int(input("숫자 입력 : "))
    print(100 / num)
except Exception:
    print("오류 발생")
finally:
    print("작업이 종료되었습니다.")

입력: 0

실행 결과
오류 발생
작업이 종료되었습니다.
9.5 else 문

else는 예외가 발생하지 않았을 때만 실행됩니다.

기본 문법은 다음과 같습니다.

기본 문법
try:
    실행문
except:
    실행문
else:
    실행문
finally:
    실행문
예제
예제 코드
try:
    num = int(input("숫자 입력 : "))
    print(100 / num)
except Exception:
    print("오류 발생")
else:
    print("정상 처리되었습니다.")
finally:
    print("프로그램 종료")

입력: 10

실행 결과
10.0
정상 처리되었습니다.
프로그램 종료
9.6 파일 처리와 예외처리

파일이 없는 경우 예외가 발생합니다.

예제 코드
try:
    file = open("hello.txt", "r", encoding="utf-8")
    print(file.read())
    file.close()
except FileNotFoundError:
    print("파일이 존재하지 않습니다.")
with 문과 함께 사용
예제 코드
try:
    with open("hello.txt", "r", encoding="utf-8") as file:
        print(file.read())
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
9.7 복합 예제

아래 코드는 사용자가 0을 입력할 때까지 숫자를 입력받아 처리하는 예제입니다.

예제 코드
while True:
    try:
        num = int(input("숫자 입력(0 종료) : "))
        if num == 0:
            break
        print(100 / num)
    except ValueError:
        print("숫자만 입력하세요.")
    except ZeroDivisionError:
        print("0으로 나눌 수 없습니다.")
print("프로그램 종료")

입력: abc

실행 결과
숫자만 입력하세요.

입력: 0

실행 결과
프로그램 종료
laptop computer on glass-top table
📌 Chapter 9 핵심 정리
  • 예외처리는 프로그램 실행 중 발생하는 오류를 처리하는 방법이다.
  • try 문을 사용하여 예외가 발생할 가능성이 있는 코드를 작성한다.
  • except 문을 사용하여 발생한 예외를 처리한다.
  • finally 문은 예외 발생 여부와 관계없이 실행되는 코드를 작성할 때 사용한다.
  • else 문은 예외가 발생하지 않았을 때만 실행된다.
  • 파일 처리 시 예외처리를 통해 파일이 존재하지 않는 경우를 처리할 수 있다.

프로그램·홈페이지·강의가 필요하신가요?

프로그램 판매, 무료 다운로드, 홈페이지 제작, IT 강의 상담을 도와드립니다.

상담 신청하기