728x90
반응형
파이썬에서 예외 처리와 오류 핸들링에 대해 알아보겠습니다. 프로그래밍을 하다보면 발생할 수 있는 다양한 오류들을 효과적으로 처리하는 것은 중요합니다. 예외 처리는 코드의 안정성을 높이고 사용자 경험을 향상시키는 데 도움이 됩니다.
1. 기본적인 예외 처리
가장 기본적인 형태의 예외 처리는 try와 except 문을 사용하는 것입니다. 예제를 통해 살펴보겠습니다.
try:
num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))
result = num1 / num2
print("나눈 결과:", result)
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
except ValueError:
print("올바른 숫자를 입력하세요.")
except Exception as e:
print("오류 발생:", e)
else:
print("예외가 발생하지 않았습니다.")
finally:
print("예외 처리가 완료되었습니다.")
이 예제에서는 사용자로부터 두 개의 숫자를 입력받고, 나눗셈을 수행합니다. 각종 오류에 대한 예외 처리를 추가하여 안전하게 코드를 실행할 수 있습니다.
2. 사용자 정의 예외
때로는 특정 상황에서 발생하는 오류에 대해 사용자 정의 예외를 만들어 처리하는 것이 유용할 수 있습니다.
class CustomError(Exception):
def __init__(self, message="사용자 정의 오류 발생"):
self.message = message
super().__init__(self.message)
def validate_input(value):
if not value.isnumeric():
raise CustomError("숫자를 입력하세요.")
try:
user_input = input("숫자를 입력하세요: ")
validate_input(user_input)
result = int(user_input) ** 2
print("결과:", result)
except CustomError as ce:
print("사용자 정의 오류 발생:", ce)
except ValueError:
print("올바른 숫자를 입력하세요.")
이 예제에서는 사용자 정의 예외인 CustomError를 정의하고, 입력된 값이 숫자가 아닐 경우 이 예외를 발생시킵니다.
3. 예외 정보 얻기
예외가 발생했을 때, 발생한 예외에 대한 정보를 얻는 것은 디버깅에 도움이 됩니다.
try:
file = open("nonexistent.txt", "r")
except FileNotFoundError as fnfe:
print("파일을 찾을 수 없습니다:", fnfe)
print("에러 메시지:", fnfe.strerror)
이 예제에서는 존재하지 않는 파일을 열려고 시도하면 FileNotFoundError가 발생하고, 해당 예외의 정보를 출력합니다.
파이썬의 예외 처리는 코드의 견고성을 높이고, 프로그램이 예기치 않은 상황에서도 제어를 유지할 수 있게 해줍니다. 다양한 예외 상황에 대비하여 적절한 예외 처리를 추가하는 것은 좋은 프로그래밍 습관 중 하나입니다.
728x90
반응형
'Python > Python 이론' 카테고리의 다른 글
파이썬 : 패키지 구조와 관리 (0) | 2024.02.02 |
---|---|
파이썬 : 모듈의 개념과 활용 (0) | 2024.01.28 |
파이썬 : 텍스트 파일과 이진 파일 입출력하기 (1) | 2024.01.26 |
파이썬 : 내장 함수와 메소드 (0) | 2024.01.24 |
파이썬 : 리스트, 튜플, 세트, 딕셔너리 (0) | 2024.01.22 |