코딩이 즐겁다

[파이썬 입문] try except 구문 갓벽 가이드 본문

Python

[파이썬 입문] try except 구문 갓벽 가이드

코즐 2025. 2. 19. 13:26
반응형

 

파이썬에서 try except문이 무엇이죠?

try-except 문은 예외 처리(Exception Handling) 를 위해 사용되는 Python의 중요한 기능입니다. 예외 처리프로그램 실행 중 발생할 수 있는 오류를 처리하여 코드가 중단되지 않고 정상적으로 실행될 수 있도록 돕습니다.

 


 

기본 구조

try:
    # 예외가 발생할 가능성이 있는 코드
except 예외타입:
    # 예외 발생 시 실행할 코드

 


 

기본적인 예외 처리하는 방법

✅ 예제 코드:

try:
    num = int(input("숫자를 입력하세요: "))  # 숫자가 아닌 값 입력 시 오류 발생
    print(f"입력한 숫자: {num}")
except ValueError:
    print("올바른 숫자를 입력하세요!")

int() 함수는 정수로 변환할 수 없는 값을 입력하면 ValueError를 발생시키므로, 이를 except ValueError: 블록에서 처리함.

 


 

ZeroDivisionError (0으로 나눌 때 발생)

✅ 예제 코드:

try:
    a = 10 / 0  # 0으로 나누기 (ZeroDivisionError)
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다!")

ZeroDivisionError가 발생할 경우, except 블록이 실행됨.

(except문에 작성할 수 있는 예외 클래스를 확인하고 싶다면 GenieIT님의 작성글을 확인하시면 됩니다. [바로가기])

 


 

여러 개의 예외 처리하는 방법

✅ 예제 코드:

try:
    lst = [1, 2, 3]
    print(lst[5])  # IndexError 발생
except ValueError:
    print("값 오류(ValueError) 발생!")
except IndexError:
    print("인덱스 오류(IndexError) 발생!")

예외 타입을 여러 개 나열하면, 해당하는 예외가 발생할 때 각각의 블록이 실행됨.

 


 

여러 예외를 한 번에  처리하는 방법

✅ 예제 코드:

try:
    x = int("hello")  # ValueError 발생
except (ValueError, TypeError):
    print("ValueError 또는 TypeError 발생!")

except 뒤에 튜플 형식으로 여러 개의 예외를 지정하면 한 번에 처리 가능.

 


 

예외 정보 출력하는 방법 (as 키워드 활용)

✅ 예제 코드:

try:
    print(5 / 0)
except ZeroDivisionError as e:
    print(f"예외 발생: {e}")

as e를 사용하면 예외 정보를 변수에 저장하여 출력할 수 있음.

 


 

모든 예외 처리하는 방법 (Exception 사용)

✅ 예제 코드:

try:
    x = int("abc")  # ValueError 발생
except Exception as e:
    print(f"알 수 없는 오류 발생: {e}")

Exception은 모든 예외를 포괄적으로 처리할 때 사용.

 


 

else 블록 사용하는 방법

✅ 예제 코드:

try:
    num = int(input("숫자 입력: "))  # 정상 입력 시
except ValueError:
    print("숫자가 아닙니다!")
else:
    print(f"입력한 숫자: {num}")  # 예외가 발생하지 않았을 때 실행

else 블록은 에러가 발생하지 않았을 때 실행되는 코드 블록입니다.

 


 

finally 블록 사용하는 방법 (무조건 실행)

✅ 예제 코드:

try:
    file = open("data.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
finally:
    print("예외 여부와 관계없이 항상 실행됩니다.")

finally는 예외 발생 여부와 관계없이 항상 실행됨 (파일 닫기 등에 유용).

 


 

사용자 정의 예외 처리하는 방법 (raise 사용)

✅ 예제 코드:

def check_age(age):
    if age < 0:
        raise ValueError("나이는 0보다 작을 수 없습니다.")
    print(f"입력한 나이: {age}")

try:
    check_age(-5)
except ValueError as e:
    print(f"오류 발생: {e}")

raise를 사용하면 특정 상황에서 예외를 직접 발생시킬 수 있음.

 


 

코즐

파이썬을 배우고 싶은 사람은 누구나 파이썬 학원(국비 지원 파이썬 학원)에 가지 않고도 파이썬 공부를 하면서 실력을 쌓아나갈 수 있다고 생각합니다. 

파이썬 온라인 강의 자료를 올리면서 누구나 쉽게 파이썬을 공부하실 수 있도록 최선을 다해서 설명하도록 하겠습니다.

 


 

 

반응형