[파이썬 초급] 8) 예외 처리

예외 처리는 프로그램이 실행 중에 발생할 수 있는 오류를 처리하는 메커니즘입니다. 파이썬은 강력한 예외 처리 기능을 제공하여 프로그래머가 예외 상황을 처리하고 오류에 대처할 수 있도록 도와줍니다. 이번 강좌에서는 파이썬에서 예외 처리를 다루는 방법에 대해 알아보고, 예제를 통해 실습해 보겠습니다.

  1. try-except 문 예외 처리는 try-except 문을 사용하여 수행됩니다. try 블록에는 예외가 발생할 가능성이 있는 코드를 작성하고, except 블록에는 예외가 발생했을 때 처리할 코드를 작성합니다. 예외가 발생하면 프로그램의 실행 흐름은 try 블록에서 except 블록으로 이동합니다.

예를 들어, 숫자를 입력받아 제곱을 계산하는 프로그램에서 0으로 나누기 예외를 처리해보겠습니다.

try:
    num = int(input("숫자를 입력하세요: "))
    result = 10 / num
    print("결과:", result)
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

위 예제에서 try 블록에서 input() 함수를 사용하여 숫자를 입력받고, 입력된 숫자로 10을 나누어 결과를 계산합니다. 만약 입력한 숫자가 0이라면 ZeroDivisionError 예외가 발생하고, except 블록이 실행됩니다.

  1. 다중 예외 처리 여러 종류의 예외를 처리해야 할 때는 다중 except 문을 사용할 수 있습니다. 각 except 블록은 처리할 예외의 종류를 지정하고, 해당 예외가 발생했을 때 실행됩니다.

예를 들어, 파일을 열고 읽는 프로그램에서 파일이 존재하지 않는 경우와 파일을 읽을 수 없는 경우에 대한 예외 처리를 추가해보겠습니다.

try:
    file = open("data.txt", "r")
    content = file.read()
    print(content)
    file.close()
except FileNotFoundError:
    print("파일이 존재하지 않습니다.")
except PermissionError:
    print("파일을 읽을 수 없습니다.")

위 예제에서 try 블록에서 open() 함수를 사용하여 파일을 열고, read() 메서드를 사용하여 파일 내용을 읽습니다. 만약 파일이 존재하지 않으면 FileNotFoundError 예외가 발생하고, 파일을 읽을 수 없으면 PermissionError 예외가 발생합니다. 각각의 예외에 대해 해당하는 except 블록이 실행됩니다.

  1. finally 절 finally 절은 try-except 문의 마지막에 사용될 수 있습니다. finally 절은 예외 발생 여부와 관계없이 항상 실행되는 코드를 작성할 때 사용됩니다. 주로 파일이나 네트워크 연결과 같은 리소스를 정리하는 용도로 사용됩니다.

예를 들어, 파일을 열고 처리한 후에 항상 파일을 닫도록 finally 절을 사용해보겠습니다.

file = None
try:
    file = open("data.txt", "r")
    content = file.read()
    print(content)
except FileNotFoundError:
    print("파일이 존재하지 않습니다.")
except PermissionError:
    print("파일을 읽을 수 없습니다.")
finally:
    if file:
        file.close()

위 예제에서 finally 절은 파일을 닫는 역할을 합니다. 예외가 발생하더라도 finally 절은 항상 실행되므로, 파일을 안전하게 닫을 수 있습니다.

예외 처리는 프로그램의 안정성과 신뢰성을 높이는 데 중요한 역할을 합니다. 파이썬의 예외 처리 기능을 잘 활용하여 프로그램의 예외 상황을 처리하고 오류를 처리할 수 있도록 해보세요. 예제 코드를 통해 실습해 보면서 예외 처리에 대한 이해도를 높여보세요.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top