-
예시로 배우는 파이썬 (예외처리)PYTHON(파이썬)/파이썬 기초 2024. 10. 17. 05:17728x90반응형
#############################################################################
# Python 기초 14 : 예외처리
# eplus(www.eiot.co.kr)-나도코딩(YouTube):파이썬 코딩 무료 강의 (기본편) 참조
#############################################################################
try:
print("나누기 전용 계산기입니다.")
num1 = int(input("첫 번째 숫자를 입력하세요 : "))
num2 = int(input("두 번째 숫자를 입력하세요 : "))
print("{0} / {1} = {2}".format(num1, num2, int(num1/num2)))
except ValueError:
print("에러! 잘못된 값을 입력하였습니다.")
except ZeroDivisionError as err:
print(err)
except Exception as err:
print(err)
finally:
print("완료")
Goover는?
파이썬에서 예외 처리는 프로그램의 안정성을 높이고, 오류 발생 시 적절한 처리를 통해 프로그램이 예기치 않게 종료되는 일을 방지하는 중요한 기능입니다. 예외(Exception)란 프로그램 실행 중 발생할 수 있는 예외적인 상황을 의미하며, 이러한 상황에 적절히 대처하기 위해 예외 처리를 사용합니다.
1. 예외란 무엇인가?
예외는 프로그램이 예상치 못한 동작을 할 때 발생하는 사항입니다. 예를 들어, 파일을 열려고 할 때 해당 파일이 존재하지 않거나, 사용자 입력이 잘못된 경우가 이에 해당합니다. 이런 예외적인 상황이 발생하면, 파이썬은 자동적으로 오류를 발생시켜 프로그램의 흐름을 제어할 수 있는 방법을 제공하는데, 이 때 사용되는 것이 try…except 문입니다.
2. 예외 처리 방법
예외 처리는 try 블록과 except 블록을 사용하여 구현합니다. try 블록 안에는 예외가 발생할 가능성이 있는 코드가 들어가고, except 블록 안에는 이 예외를 처리하기 위한 코드가 포함됩니다.
아래의 예제를 살펴보겠습니다:
try: file = open('non_existent_file.txt', 'r') # 존재하지 않는 파일 열기 content = file.read() except FileNotFoundError as e: print("파일을 찾을 수 없습니다:", e) finally: print("이 메시지는 항상 출력됩니다.")
이 코드에서 try 블록은 파일을 여는 시도를 하고, 만약 그 파일이 존재하지 않을 경우 FileNotFoundError 예외가 발생합니다. 이 예외는 except 블록에서 처리되어 "파일을 찾을 수 없습니다"라는 메시지를 출력합니다. 마지막으로 finally 블록은 예외 발생 여부와 상관없이 항상 실행되므로, 여기에서는 추가적인 정리 작업 등을 수행할 수 있습니다.
3. 다양한 예외 처리
파이썬에서는 특정 예외에 대해 다른 처리를 하고 싶을 때, 여러 개의 except 블록을 추가할 수 있습니다. 이는 다양한 예외 상황에 대해 세밀하게 대처할 수 있게 해줍니다.
try: num = int(input("정수를 입력하세요: ")) except ValueError: print("잘못된 입력입니다. 정수를 입력해야 합니다.") except KeyboardInterrupt: print("\n입력이 중단되었습니다.") else: print(f"입력한 정수는 {num}입니다.")
위의 예제에서 사용자는 정수를 입력해야 하며, 만약 문자열 등을 입력하여 ValueError가 발생할 경우 "잘못된 입력입니다"라는 메시지가 출력됩니다. 입력 도중 사용자인터럽트가 발생하면 KeyboardInterrupt를 통해 예외를 처리할 수 있습니다.
4. 예외를 자기 정의하기
파이썬에서는 사용자가 정의한 예외를 만들 수도 있습니다. 이를 통해 특정한 상황에 대한 오류를 보다 명확하게 처리할 수 있습니다.
class MyCustomError(Exception): pass def check_value(value): if value < 0: raise MyCustomError("값은 0보다 작을 수 없습니다.") try: check_value(-1) except MyCustomError as e: print(e) # "값은 0보다 작을 수 없습니다." 출력
이 예제에서는 MyCustomError라는 사용자 정의 예외를 생성하고, 특정 조건에서 이를 발생시킵니다. 이는 코드의 가독성을 높이고, 예외 처리의 명확성을 더합니다.
5. 요약
예외 처리는 프로그램의 안전성을 높이는 데 중요한 도구로, 예상하지 못한 상황에 적절하게 대응하기 위한 방법입니다. try와 except 블록을 사용하여 예외를 처리하며, 다양한 유형의 예외에 대해 다른 처리를 할 수 있습니다. 또한 사용자 정의 예외를 통해 더욱 세밀한 오류 처리가 가능합니다.
728x90'PYTHON(파이썬) > 파이썬 기초' 카테고리의 다른 글
예시로 배우는 파이썬 (PACKAGE) (4) 2024.10.17 예시로 배우는 파이썬 (모듈) (3) 2024.10.17 예시로 배우는 파이썬 (CLASS) (0) 2024.10.17 예시로 배우는 파이썬 (WITH) (2) 2024.10.15 예시로 배우는 파이썬 (pickle) (13) 2024.10.14