파이썬(Phython)

Python 6. 에러와 예외 처리

고.니 2023. 11. 14. 23:12
반응형

6. 에러와 예외 처리

프로그래밍에서 오류는 불가피한 부분입니다. 파이썬은 다양한 종류의 에러와 이를 처리하기 위한 명확한 방법을 제공합니다.

에러 종류

파이썬에서 발생할 수 있는 몇 가지 일반적인 에러들입니다:

  • SyntaxError: 코드의 구문이 잘못되었을 때 발생합니다. 예를 들어, 괄호나 따옴표의 짝이 맞지 않는 경우입니다.
  • NameError: 정의되지 않은 변수를 호출할 때 발생합니다.
  • TypeError: 잘못된 데이터 타입을 사용했을 때 발생합니다. 예를 들어, 숫자와 문자열을 함께 더하는 경우입니다.
  • IndexError: 리스트의 범위를 넘어선 인덱싱을 할 때 발생합니다.
  • KeyError: 딕셔너리에서 존재하지 않는 키를 사용할 때 발생합니다.
  • ValueError: 올바른 값이지만, 올바르지 않은 값이 사용되었을 때 발생합니다. 예를 들어, 정수가 아닌 문자열을 정수로 변환하려 할 때입니다.

예외 처리

예외 처리는 프로그램에서 예외적인 상황(에러)이 발생했을 때, 프로그램을 중단하지 않고 적절히 대응하게 해줍니다.

try, except 구문

tryexcept 블록을 사용하여 예외 처리를 할 수 있습니다. try 블록 안에는 에러가 발생할 수 있는 코드를 넣고, except 블록 안에는 에러가 발생했을 때 실행할 코드를 넣습니다.

try:
    # 에러가 발생할 수 있는 코드
    number = int(input("Enter a number: "))
except ValueError:
    # ValueError가 발생했을 때 실행할 코드
    print("That's not a number!")

finally와 assert

  • finally: finally 블록은 에러 발생 여부와 상관없이 try 블록 이후에 항상 실행됩니다. 주로 사용한 리소스를 정리하는 데 사용됩니다.

    try:
        file = open("example.txt")
        # 파일 처리 코드
    finally:
        file.close()  # 파일을 반드시 닫아줍니다.
  • assert: assert 문은 특정 조건이 참인지 확인하고, 거짓이면 AssertionError를 발생시킵니다. 주로 디버깅 목적으로 사용됩니다.

    x = 1
    assert x > 0, "x is not positive"  # 조건이 참이므로 AssertionError가 발생하지 않습니다.

에러와 예외 처리는 프로그램의 안정성과 견고함을 높이는 데 필수적입니다. 적절한 예외 처리를 통해 예상치 못한 상황에서도 프로그램이 적절하게 반응하도록 만들 수 있습니다.

반응형