Python Try 구문과 예외 종류
디버깅을 하다보면 에러를 찾기 위한 로그가 절실한 경우가 많습니다. 에러를 빠르게 찾기위해서는 에러로그와 excpetion사용이 참 중요한 것 같습니다. exception을 사용하면 프로그램이 예기치 않은 오류로부터 안전하게 실행될 수 있습니다.
Python에서는 `try`, `except`, `finally` 구문을 사용하여 예외 처리를 할 수 있습니다. 방법을 정리합니다. Try구문과 Exception 종류에 대해 정리합니다.
Try 구문
try:
# 파일을 열고 처리하는 작업을 수행합니다.
file = open("example.txt", "r")
content = file.read()
print("파일 내용:", content)
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
finally:
# 예외 발생 여부와 상관없이 항상 실행됩니다.
# 파일을 닫는 작업을 수행합니다.
if 'file' in locals():
file.close()
print("파일을 닫습니다.")
Try구문에서 가장많이 사용되는 file 처리 예시 입니다. 위의 예시에서 try 블록에서는 파일을 열고 내용을 읽는 작업을 수행합니다.
except 블록에서는 파일을 찾을 수 없는 경우를 처리합니다. 그리고 finally 블록에서는 파일을 닫는 작업을 합니다. 이 때 finally 블록은 예외가 발생하더라도 항상 실행되므로 파일을 안전하게 닫을 수 있습니다.
Try 구분의 exception 정보
except 블록에서는 자신이 처리할 exception을 선택할 수 있습니다. 위의 코드에서는 FileNoFoundError Exception이 발생할때 동작하고 있습니다. 다른 exception도 정리합니다.
ZeroDivisionError
0으로 나눌 때 발생하는 오류입니다.
try:
# 예외가 발생할 수 있는 코드 블록
result = 10 / 0 # ZeroDivisionError 발생 가능
except ZeroDivisionError:
# 특정 예외 처리
print("0으로 나눌 수 없습니다.")
except Exception as e:
# 일반적인 예외 처리
print("예외가 발생했습니다:", e)
finally:
# 예외와 상관없이 항상 실행되는 부분
print("실행종료")
FileNotFoundError
파일을 찾을 수 없을 때 발생하는 오류입니다.
try:
with open("nonexistent_file.txt") as file:
content = file.read()
except FileNotFoundError:
print("파일을 찾을 수 없습니다.")
TypeError
잘못된 데이터 타입을 사용할 때 발생하는 오류입니다.
try:
result = "hello" + 123
except TypeError:
print("잘못된 데이터 타입입니다.")
IndexError
리스트에서 인덱스가 범위를 벗어날 때 발생하는 오류입니다.
try:
my_list = [1, 2, 3]
print(my_list[3])
except IndexError:
print("인덱스가 범위를 벗어났습니다.")
KeyError
딕셔너리에서 존재하지 않는 키를 사용할 때 발생하는 오류입니다.
try:
my_dict = {'a': 1, 'b': 2}
print(my_dict['c'])
except KeyError:
print("키가 존재하지 않습니다.")
Python에서의 예외 처리와 `try` 구문을 사용하는 방법, 그리고 일반적인 예외 종류에 대해 알아보았습니다.
'Programming' 카테고리의 다른 글
Python에서 Json파일 읽기 (0) | 2024.04.04 |
---|---|
[업무효율화] 단체 메일 발송하기 (0) | 2024.04.03 |
노코드(Nocode)란 무엇인가? (0) | 2024.03.26 |
검색엔진 등록방법 (0) | 2024.03.25 |
Bing에 블로그 등록하기 (0) | 2024.03.25 |