반응형
목차
파이썬 try except else finally 문이란?
파이썬을 구현하면서 파일을 처리하거나 인터넷이나 시리얼(Serial) 통신에 연결할때 예상치 못한 에러(error)가 발생할 수 있습니다. 이와 같이 프로그램에 발생하는 에러는 예외(Except) 처리가 되고 에러 메세지와 함께 프로그램이 종료 됩니다.
파이썬 내장 예외처리에서 위와 같은 작업을 진행하지만 사용자가 직접 예외처리를 만들 수 있는데 이때 사용하는 명령어가 try except 입니다.
- try : try 아래 블럭을 에러가 있어도 시행해봅니다.
- except : try 아래 블럭에서 에러 발생 시 에러를 어떻게 처리할지 결정합니다.
- else : try 아래에서 에러가 없을 경우 시행 합니다.
- finally : try 에러 여부에 관계없이 시행 합니다.
아래는 파이썬에 실제 내장된 에러 메세지 종류입니다.
- IOError : IO 에러
- TypeError: Type 에러
- NameError: Name 에러
- Exception: 그 외 에러
파이썬 try except else finally 예제 실습
try except 기본 예제
예제 코드>>
try:
x = open("no_file.txt","r")
except:
print("error occurred")
2번 라인: 실제 없는 파일을 열어 봅니다.
4번 라인: 에러시 해당 메세지를 print 합니다.
결과>>
error occurred
try except 내장 에러 메세지 사용 예제
예제 코드>>
try:
print(x)
except NameError as e:
print(e)
3번 라인: NameError 발생 시 e 라는 변수에 메세지를 저장합니다.
결과>>
name 'x' is not defined
try except else 사용 예제
예제 코드>>
try:
x = 3
except:
print("error occurred")
else:
print("no error")
2번 라인: 정상 선언
결과>>
no error
try except finally 사용 예제
예제 코드>>
try:
x = open("no_file.txt","r")
except:
print("error occurred")
finally:
print("program excuted")
try에 상관 없이 finally 구문을 실행합니다.
일반적으로 finally에 파일 close 구문을 넣어 혹시 모를 open 상태를 방지 합니다.
결과>>
error occurred
program excuted
raise 사용 예제
예제 코드>>
x = -5
if x < 0:
raise Exception("error occured")
에러 발생 시 사용자가 Exception이라는 예외 문을 띄웁니다.
결과>>
Traceback (most recent call last):
File "d:\Python\test03\test17.py", line 3, in <module>
raise Exception("error occured")
Exception: error occured
반응형
'파이썬(Python) > 문법' 카테고리의 다른 글
[Python] 멀티프로세스, 변수 교환 방법(Queue, Pipe, Multiprocess, Multitask, 파이썬)#2 (0) | 2022.06.29 |
---|---|
[Python] 멀티프로세스, 동시 작업(Multiprocess, Multitask, 파이썬) #1 (0) | 2022.06.28 |
[Python] 파이썬 yield란? 사용목적 (Generator, 제너레이터) (0) | 2022.06.24 |
[Python] 람다 함수란? 사용하는 목적(Lambda Function, Why) (0) | 2022.06.23 |
[Python] 정규표현식으로 파일(XML, txt, html) 내용 검색(필터)하기 (re, match, compile, finditer) (0) | 2022.06.02 |