일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 문자열
- queue
- segment
- topic
- 자료형
- elk스택
- Apache Kafka
- 불리언
- Kibana
- 프로그래머스
- Elasticsearch
- 로그관리
- XSS
- sql injection
- Message
- Python
- BFS
- rabbitmq
- partition
- 튜플
- 데이터분석
- Kafka
- Lv3
- 딕셔너리
- 조건문
- 숫자게임
- Logstash
- CSRF
- programmers
- CORS
Archives
- Today
- Total
dev-minchur 님의 블로그
[파이썬 기초] 예외처리 본문
try/except
- try :
- 로직, 기능
- except <오류종류> :
- try문에서 오류가 발생할때, 실행
try:
a_err = int('안녕')
print(a_err)
except ValueError as e:
print(f'오류 메세지: {e}')
오류 메세지: invalid literal for int() with base 10: '안녕'
try/except/else/finallytry :
- try :
- 로직, 기능
- except <오류종류> :
- try문에서 오류가 발생할때, 실행
- else :
- try문이 성공할 때 발생
- finally :
- try문의 결과와 상관없이 실행
assert
- try문의 결과와 상관없이 실행
- 조건이 False일 때, 발생하는 에러
- 디버깅 모드에서만 작동하지만, 파이썬은 기본 디버깅 모드임
a_int = 8
# 참이므로 assert는 실행 X
assert a_int % 2 == 0, "2의 배수가 아닙니다."
print('2의 배수입니다.')
2의 배수입니다.
a_int = 7
# 거짓이므로 assert가 실행 됬다.
assert a_int % 2 == 0, "2의 배수가 아닙니다."
print('2의 배수입니다.')
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
c:\python\gigit_2\day3.ipynb Cell 52 line 3
<a href='vscode-notebook-cell:/c%3A/python/gigit_2/day3.ipynb#Y111sZmlsZQ%3D%3D?line=0'>1</a> a_int = 7
----> <a href='vscode-notebook-cell:/c%3A/python/gigit_2/day3.ipynb#Y111sZmlsZQ%3D%3D?line=2'>3</a> assert a_int % 2 == 0, "2의 배수가 아닙니다."
<a href='vscode-notebook-cell:/c%3A/python/gigit_2/day3.ipynb#Y111sZmlsZQ%3D%3D?line=4'>5</a> print('2의 배수입니다.')
AssertionError: 2의 배수가 아닙니다.
raise error
try :
a_int = 487
if a_int % 4 != 0 :
# 지금 if문이 참이므로 밑에 exception이 실행 된거임
# 만약 거짓일 경우엔 밑에 "4의 배수입니다."가 프린트 된다.
raise Exception("4의 배수가 아닙니다.")
print('4의 배수입니다.')
except Exception as e :
print(f'에러메세지:{e}')
에러메세지:4의 배수가 아닙니다.
- 지금 if문이 참이므로 밑에 exception이 실행 된거임
- 만약 거짓일 경우엔 밑에 "4의 배수입니다."가 프린트 된다.
Exception 만들어서 적용하기
class NotThreeMultipleError(Exception):
def __init__(self, error_msg):
super().__init__(error_msg)
try:
x = 5
if x % 3 != 0:
raise NotThreeMultipleError('3의 배수가 아닙니다.')
print('3의 배수 입니다.')
except Exception as e:
print(f'오류명: {type(e)} / 오류 메세지: {e}')
오류명: <class '__main__.NotThreeMultipleError'> / 오류 메세지: 3의 배수가 아닙니다.
'Python' 카테고리의 다른 글
[파이썬 기초] 클래스 (1) | 2025.01.08 |
---|---|
[파이썬 기초] 함수 (0) | 2025.01.08 |
[파이썬 기초] 반복문 (0) | 2025.01.08 |
[파이썬 기초] 조건문 (0) | 2025.01.08 |
[파이썬 기초] 불리언 (0) | 2025.01.08 |