Python에서 오류가 발생할때 예외 처리 방식에 대해 알아봅시다.

 

예외 처리로는 크게

try-except / try-except-else / try-except-finally / try-except-else-finally 네 가지로 예외 처리가 가능하다.

 

아래는 각 예외 처리 방식 예제이다.

def try_except_test(num):
    try:
        1 + num
        print("No Error Start try")
    except:
        print("Error Start except")


def try_except_else_test(num):
    try:
        1 + num
        print("No Error Start try")
    except:
        print("Error Start except")
    else:
        print("No Error Start else")


def try_except_finally_test(num):
    try:
        1 + num
        print("No Error Start try")
    except:
        print("Error Start except")
    finally:
        print("No Error and Error Start finally")


def try_except_else_finally_test(num):
    try:
        1 + num
        print("No Error Start try")
    except:
        print("Error Start except")
    else:
        print("No Error Start else")
    finally:
        print("No Error and Error Start finally")

 

1. try_except_test 

해당 함수는 기본적인 try-except 구조를 사용한다.

try 블록에서 입력 값 num을 1과 더하려 시도한다.

만약 오류가 발생한다면 except 블록으로 넘어간다.

 

2. try_except_else_test

해당 함수는 try-except-else 구조를 사용한다.

else 블록은 try가 정상적으로 완료된다면 실행된다.

만약 오류가 발생한다면 except 블록으로 넘어간다.

 

3. try_except_finally_test

해당 함수는 try-except-finally 구조를 사용한다.

finally 블록은 오류가 발생해도 여부 관계없이 무조건 실행한다.

리소스를 해제하거나 데이터를 저장하는 등의 마지막 정리를 하는데 유용하다.

 

4. try_except_else_finally_test

해당 함수는 try-except-else-finally 구조를 사용한다.

else 블록은 try가 정상적으로 완료된다면 실행된다.

오류와 상관없이 finally가 실행된다.

 

각 함수 실행 예제

try_except_test(1)
# 출력: No Error Start try

try_except_else_test(1)
# 출력: No Error Start try
#        No Error Start else

tey_except_finally_test(1)
# 출력: No Error Start try
#        No Error and Error Start finally

try_except_else_finally_test(1)
# 출력: No Error Start try
#        No Error Start else
#        No Error and Error Start finally

try_except_test("1")
# 출력: Error Start except

try_except_else_test("1")
# 출력: Error Start except

tey_except_finally_test("1")
# 출력: Error Start except
#        No Error and Error Start finally

try_except_else_finally_test("1")
# 출력: Error Start except
#        No Error and Error Start finally

 

이렇듯 다양하게 예외 처리 블록을 활용하여 코드 안정성을 높일 수 있다.

728x90

'추가 공부 > Python' 카테고리의 다른 글

[Python] OOP - 클래스와 속성  (0) 2024.12.04
[pyplot] 한글 깨짐 설정  (0) 2024.11.30
[Python] csv 모듈을 활용한 파일 입출력  (0) 2024.11.27
[Python] Numpy 기초  (0) 2024.11.25
[Python] 연산자  (2) 2024.11.23
개발자가 되고 싶은 곰