Python 예외 처리
파이썬에서 실행 도중에 발생하는 에러를 예외(exception)이라고 합니다.
일반적으로 에러가 발생하면 프로그램은 비정상적으로 종료되며 그 때까지 작업한 결과 는 잃어버리게 됩니다.
에러가 발생하는 경우 해야 할 작업에 대하여 미리 조치해 두는 것을 예외 처리라고 합니다.
Python 에러의 종류
에러의 종류 | 설명 |
IOError | 파일을 열 수 없음 |
ImportError | 파이썬 모듈이 없음 |
ValueError | 연산이나 내장함수의 인수값에 문제가 있음 |
KeyboardInterrupt | 사용자가 프로그램을 실행 중지(ctrl+c)를 누름 |
EOFError | 내장 함수가 파일의 끝을 만남 |
NameError | 정의되지 않은 함수명 등을 사용할때 발생함 |
Try ~ finally 문
프로그램을 실행시키면 try 블럭의 명령문이 실행됩니다.
finally 블럭의 명령문은 프로그램에 오류가 발생하든지 발생하지 않든지 항상 실행되는 문장입니다.
try 블럭의 명령문은 에러가 발생하면 실행되지 않을 수도 있지만, finally 블럭의 명령문은 프로그램이 종료되기 전에 항상 실행됩니다.
Try ~ finally 문의 형식 |
try: 프로그램 명령문 finally: 프로그램 종료전 실행할 명령문 |
Try ~ finally 문 예제 |
fp = open("c:/Test/sample.txt", 'r') try: sum = 0 for line in fp: (count.pop) = line.split() sum += pop print('총 합 : = ', sum) finally: fp.close() print('******* 프로그램 END *******') |
NameError: name 'count' is not defined 가 발생함 |
Try ~ except
try 블럭은 프로그램 실행시 처리되는 명령문들로 구성되며, except 블럭은 try 블럭의 처리에서 에러가 발생하면 실행되는 명령문들로 구성됩니다.
Try ~ except 문의 형식 |
try: 프로그램 명령문 except 오류 내용1: 에러 발생시 실행할 명령문 except 오류 내용2: 에러 발생시 실행할 명령문 except 오류 내용3: 에러 발생시 실행할 명령문 . . . . . . . . . . . . . . . . |
Try ~ except 문 예제 |
a = int(input('정수1 ? = ')) b = int(input('정수2 ? = ')) try: result = a/b print('결과 = ', result) except ZeroDivisionError as e: print(e) print('에러가 발생했습니다 !!!') |
<실행 결과> 정수1 ? = 77 정수2 ? = 0 division by zero 에러가 발생했습니다 !!! |
'Python' 카테고리의 다른 글
Python의 객체 지향 (0) | 2022.07.04 |
---|---|
Python 파일 입출력 (0) | 2022.07.02 |
Python 사전(dictionary) 자료형 (0) | 2022.07.01 |
Python 집합(set) (0) | 2022.06.30 |
Python 튜플 (0) | 2022.06.29 |
댓글