파이썬에서는 예외 처리를 위한 다양한 기법이 제공됩니다. 여러 기법을 사용하여 코드를 보다 안전하고 견고하게 만들 수 있습니다.
1. 기본적인 try, except 블록
try:
# 예외가 발생할 수 있는 코드
result = 10 / 0
except ZeroDivisionError:
# 예외가 발생했을 때 실행되는 코드
print("Cannot divide by zero!")
2. 여러 예외 처리하기
try:
# 예외가 발생할 수 있는 코드
result = int("abc")
except ValueError:
# ValueError 처리 코드
print("Invalid input. Please enter a valid number.")
except ZeroDivisionError:
# ZeroDivisionError 처리 코드
print("Cannot divide by zero.")
3. 모든 예외 처리하기
try:
# 예외가 발생할 수 있는 코드
result = 10 / 0
except Exception as e:
# 모든 예외 처리 코드
print(f"An error occurred: {e}")
4. else 블록 활용
try:
# 예외가 발생할 수 있는 코드
result = 10 / 2
except ZeroDivisionError:
# ZeroDivisionError 처리 코드
print("Cannot divide by zero.")
else:
# 예외가 발생하지 않았을 때 실행되는 코드
print("Division successful.")
5. finally 블록 활용
try:
# 예외가 발생할 수 있는 코드
result = 10 / 0
except ZeroDivisionError:
# ZeroDivisionError 처리 코드
print("Cannot divide by zero.")
finally:
# 예외 발생 여부와 상관없이 항상 실행되는 코드
print("This block always runs.")
6. 예외 발생시키기 (raise)
try:
# 예외 발생시키기
raise ValueError("This is a custom error.")
except ValueError as e:
# 예외 처리 코드
print(f"Caught an exception: {e}")
7. assert 문 활용
x = 10
assert x > 0, "x should be a positive number"
assert 문은 주어진 조건이 False인 경우 AssertionError 예외를 발생시킵니다.
8. with 문과 파일 핸들링
try:
with open("example.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("File not found.")
else:
print("File content:", content)
with 문을 사용하면 파일 핸들이 자동으로 닫히므로 예외 발생 여부와 관계없이 안전하게 파일을 다룰 수 있습니다.
예외 처리는 코드의 안정성을 높이고 예측할 수 없는 상황에서의 프로그램 동작을 보호하는 데 중요합니다. 다양한 예외 처리 기법을 활용하여 프로그램을 견고하게 만들 수 있습니다.
With ChatGPT
'Python > 포스팅' 카테고리의 다른 글
파이썬 오류 발생시키기 (0) | 2023.12.03 |
---|---|
파이썬 오류 회피 (0) | 2023.12.03 |
파이썬 오류는 언제 발생하는가? (0) | 2023.12.03 |
파이썬 예외 처리 (0) | 2023.12.03 |
파이썬 relative 패키지 (0) | 2023.12.03 |