- 예외란? 일반적으로 오류 혹은 에러라고 불리웁니다.
- 프로그램 실행 중에 예외가 발생하면 '비정상종료'가 되는데요
- 비정상 종료를 막기 위해서 에러가 발생된 이후의 문장은 정상적으로 수행하도록 처리하는 방법을 예외처리라고 부릅니다.
전통적인 if-else문 뿐만 아니라 try except 구문으로 예외처리를 할 수 있다.
if-else 문
# 과거의 예외처리 방식 - 모든 경우를 고려해서 예외를 처리
number = input("정수를 입력하시오: ")
if number.lstrip('-').isdigit() == True: # lstrip('-')으로 음수도 판별
print(number)
print("정수입니다")
else:
print("정수가 아닙니다")
try exept 구문
# 현재의 예외처리 방식 - 에러 나면 실행은 되도록 일단 넘김
# try-except
try:
number = input("정수를 입력하시오: ")
if number.lstrip('-').isdigit() == True: # lstrip('-')으로 음수도 판별
print(number)
print("정수입니다")
except:
print("정수가 아닙니다")
try except 구문을 활용하여 입력한 값이 정수가 아닌지 구분하기
try:
strs = int(input('정수를 입력하세요'))
print(strs)
except:
print('정수로 변환할 수 없는 문자열을 입력하셨습니다.')
try except as e 구문
try except as e구문을 활용하여, 예외별로 정확한 에러 메시지를 확인해볼 수 있다.
def convert(a):
try:
return (int(a))
# except Exception:
# return 'Exception'
# except BaseException:
# return 'BaseException'
except TypeError:
return 'TypeError'
except NameError as e: # as/e - error 메시지를 출력
return 'NameError', e
except ValueError as e:
return 'ValueError', e
except Exception as e:
return 'Exception', e
convert([])
'TypeError'
convert('가')
('ValueError', ValueError("invalid literal for int() with base 10: '가'"))
convert('')
('ValueError', ValueError("invalid literal for int() with base 10: ''"))
'플레이데이터 빅데이터 부트캠프 12기 > Python' 카테고리의 다른 글
[플레이데이터 빅데이터 부트캠프]Python 익명함수 vs map함수 (0) | 2022.07.17 |
---|---|
[플레이데이터 빅데이터 부트캠프]Python List Comprehension (0) | 2022.07.17 |
[플레이데이터 빅데이터 부트캠프]Python f-string vs format (0) | 2022.07.17 |
[플레이데이터 빅데이터 부트캠프]Python 정규식(Regular Expression) (0) | 2022.07.16 |
[플레이데이터 빅데이터 부트캠프]Python 문자열 메소드 (0) | 2022.07.10 |