콘텐츠로 건너뛰기

파이썬 예외 처리 연습: 어떻게 사용/수정하는 방법?

[

파이썬 예외 처리 연습문제

예외 처리란 무엇인가?

파이썬에서 예외 처리는 프로그램 실행 중에 예상치 못한 상황이 발생했을 때 해당 상황을 처리하는 방법을 제공합니다. 이러한 예외 상황은 프로그램의 실행을 중단시키는 것을 방지하며, 프로그램이 오류 발생 시 어떻게 동작해야 하는지를 결정할 수 있게 해줍니다.

1. try-except 문을 사용한 예외 처리

파이썬에서 가장 일반적인 예외 처리 방법은 try-except 문을 사용하는 것입니다. 이 문법을 사용하면 특정 코드 블록을 실행하다가 예외가 발생하면 예외 처리 코드 블록으로 이동하여 예외를 처리할 수 있습니다. 다음은 try-except 문의 구조입니다.

try:
# 예외가 발생할 수 있는 코드
except 예외 종류:
# 예외를 처리하는 코드

2. 다중 예외 처리

파이썬에서는 한 번에 여러 종류의 예외를 처리할 수도 있습니다. try-except 문에서 여러 개의 except 블록을 사용하여 다중 예외 처리를 구현할 수 있습니다. 다음은 다중 예외 처리의 구조입니다.

try:
# 예외가 발생할 수 있는 코드
except 예외 종류1:
# 예외1을 처리하는 코드
except 예외 종류2:
# 예외2를 처리하는 코드

3. finally 문 사용하기

try-except 문은 예외 발생 여부와 관계없이 항상 실행되는 finally 문을 추가로 사용할 수도 있습니다. finally 블록은 예외 처리 이후에 항상 실행되어야 하는 코드를 담을 수 있습니다. 다음은 finally 문의 구조입니다.

try:
# 예외가 발생할 수 있는 코드
except 예외 종류:
# 예외를 처리하는 코드
finally:
# 항상 실행되어야 하는 코드

4. 예외 발생 실습

이제 예외 처리의 사용 예를 살펴보겠습니다. 다음은 어떤 숫자를 입력받아 해당 숫자의 제곱을 구하는 프로그램입니다.

try:
num = int(input("숫자를 입력하세요: "))
result = num ** 2
print("결과: ", result)
except ValueError:
print("유효한 숫자를 입력해주세요.")

위의 코드에서는 try 블록에서 input() 함수를 사용하여 사용자로부터 숫자를 입력받습니다. 만약 사용자가 숫자가 아닌 다른 값을 입력했을 경우 ValueError 예외가 발생하게 되며, except 블록이 실행되어 오류 메시지를 출력합니다.

5. 예외 처리 연습문제

이제 예외 처리 연습문제를 풀어보도록 하겠습니다. 아래 표에는 세 가지 연산에 대한 예외 상황과 예외 처리 방법이 나와 있습니다. 예외 처리 코드를 작성하여 각 연산에 맞는 예외를 처리해보세요.

연산예외 상황예외 처리
나눗셈0으로 나눌 때ZeroDivisionError
인덱싱범위를 벗어날 때IndexError
파일 읽기파일이 존재하지 않을 때FileNotFoundError

아래는 각 연산에 대한 예외 처리 코드의 예시입니다.

# 나눗셈
try:
result = num1 / num2
print("결과: ", result)
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
# 인덱싱
try:
print(my_list[5])
except IndexError:
print("인덱스 범위를 벗어났습니다.")
# 파일 읽기
try:
with open("myfile.txt", "r") as f:
contents = f.read()
print(contents)
except FileNotFoundError:
print("파일이 존재하지 않습니다.")

위의 예시 코드를 참고하여 제시된 연산에 대한 예외 처리 코드를 작성해보세요. 이렇게 예외 처리를 통해 런타임 오류를 효과적으로 관리할 수 있습니다.

마무리

이번 파이썬의 예외 처리 연습문제를 통해 예외 처리의 개념과 활용 방법에 대해 알아보았습니다. 파이썬에서 예외 처리를 잘 활용하면 프로그램의 안정성을 높일 수 있으며, 사용자에게 친절한 오류 메시지를 전달할 수 있습니다. 예외 처리는 파이썬 프로그래밍에서 반드시 알아야 하는 중요한 개념 중 하나이므로, 다양한 예외 상황을 익히고 예외 처리 코드를 작성하는 실습을 지속적으로 진행해보시기 바랍니다.