반응형
예외처리(Exception Handling)는 파이썬 프로그램에서 발생할 수 있는 오류나 예외 상황에 대처하는 방법을 말합니다. 프로그램이 오류를 만나더라도 강제 종료되지 않고, 예외를 잘 처리하여 원활한 실행을 지원하도록 합니다. 파이썬에서는 try, except, else, finally 등의 예외처리 구문을 제공합니다.
1. 기본적인 예외처리:
- try 블록 안에 예외가 발생할 가능성이 있는 코드를 작성하고, except 블록에서 예외를 처리합니다. 예외가 발생하면 프로그램이 강제 종료되지 않고, except 블록이 실행됩니다.
try:
# 예외가 발생할 가능성이 있는 코드
result = 10 / 0
except ZeroDivisionError:
# 예외가 발생했을 때 처리하는 코드
print("0으로 나눌 수 없습니다.")
2. 여러 예외처리:
- 여러 종류의 예외를 처리하려면 여러 개의 except 블록을 사용합니다. 각 except 블록은 다른 예외에 대한 처리를 담당합니다.
try:
x = int(input("정수를 입력하세요: "))
result = 10 / x
except ValueError:
print("정수를 입력해야 합니다.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
3. 예외 메시지 출력:
- except 블록에서 예외 메시지를 출력하려면 as 키워드를 사용하여 예외를 변수에 저장할 수 있습니다.
try:
x = int(input("정수를 입력하세요: "))
result = 10 / x
except ValueError as ve:
print("에러 발생:", ve)
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
4. 모든 예외처리:
- except 블록에 오류명을 입력하지 않으면 모든 오류에 대해 예외처리를 할 수 있습니다.
# 모든 오류에 대해 예외처리 할 때
try:
x = int(input("정수를 입력하세요: "))
result = 10 / x
except:
print("예외가 발생했습니다.")
# 모든 오류에 대해 예외처리 하지만 오류명을 알고 싶을 때
try:
x = int(input("정수를 입력하세요: "))
result = 10 / x
except Exception as e:
print("예외가 발생했습니다.", e)
5. else 구문 활용:
- else 블록은 try 블록 안의 코드가 예외 없이 실행되었을 때 실행됩니다. 예외가 발생하지 않은 경우에 대한 추가적인 처리를 할 수 있습니다.
try:
x = int(input("정수를 입력하세요: "))
result = 10 / x
except ValueError:
print("정수를 입력해야 합니다.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
else:
print("결과:", result)
6. finally 구문 활용:
- finally 블록은 예외 발생 여부와 상관없이 항상 실행됩니다. 보통 파일이나 네트워크 연결 등 리소스를 정리할 때 유용하게 사용됩니다.
try:
x = int(input("정수를 입력하세요: "))
result = 10 / x
except ValueError:
print("정수를 입력해야 합니다.")
except ZeroDivisionError:
print("0으로 나눌 수 없습니다.")
else:
print("결과:", result)
finally:
print("예외처리가 완료되었습니다.")
예외처리를 통해 프로그램은 예외적인 상황에 대처하며, 예측 가능한 동작을 유지할 수 있습니다. 이를 통해 프로그램의 안정성을 높이고 사용자 경험을 개선할 수 있습니다. 예외처리는 모든 파이썬 프로그래머에게 필수적인 기능으로, 특히 초보자들에게는 프로그램의 이해와 관리를 돕는 중요한 도구입니다.
반응형
'Python > 파이썬 기초' 카테고리의 다른 글
파이썬 독학 커리큘럼 - 기초 마스터 (0) | 2023.08.15 |
---|---|
파이썬으로 계산기 만들기 (0) | 2023.08.01 |
파이썬 패키지 (packages) (0) | 2023.07.30 |
파이썬 모듈 (module) (0) | 2023.07.30 |
파이썬 클래스 (Class) (0) | 2023.07.29 |