728x90
1. 오류의 종류
- 구문 오류 : 실행전에 발생하는 오류
- 런타임 오류 : 프로그램 실행 중에 발생하는 오류
2. 예외처리
- 조건문으로 예외처리하기
user_input_a = input("정수입력>>>")
if user_input_a.isdigit():
number_input_a = int(user_input_a)
print(number_input_a)
print(2*3.14*number_input_a)
else:
print("정수를 입력하지 않았습니다")
- try except 구문 사용
try:
number_input_a = int(input("정수입력>>>"))
print(number_input_a)
print(2*3.14*number_input_a)
except:
print("오류발생")
- t ry except 구문 과 pass 키워드 사용
list_a = ["1","2","3","하이"]
list_number = []
for item in list_a:
try:
float(item)
list_number.append(item)
except:
pass
print("{}내부에 있는 숫자는".format(list_a))
print("{}입니다".format(list_number))
- try except else 구문
try:
number_a = int(input("정수입력>>>>>"))
except:
print("정수입력안함")
else:
print(number_a)
print(2*3.14*number_a)
- finally 구문
try:
number_a = int(input("정수입력>>>>>"))
print(number_a)
except:
print("정수입력하세요")
else:
print("예외발생안함")
finally:
print("어떻게든 프로그램이 끝나긴함")
2. 예외 고급
- 예외정보는 예외 객체에 저장이 된다.
- 예외객체는 Exception을 사용
try:
number_a = int(input("정수입력>>"))
print(number_a)
except Exception as exception:
print(type(exception))
print(exception)
- 모든 예외 잡기
list_a = [1,2,3,4,5]
try:
number_input = int(input("정수입력>>"))
print("{}번째 요소{}".format(number_input, list_a[number_input]))
예외.발생해라()
except ValueError as exception:
print("정수입력하씨오")
print(type(exception), exception)
except IndexError as exception:
print("인덱스 벗어남")
print(type(exception), exception)
except Exception as exception:
print("파악하지 못한 예외가 발생함")
print(type(exception), exception)
3. raise 구문으로 강제로 예외 발생시키기
number = int(input("정수입력>>>"))
if number>0:
raise NotImplementedError
else:
raise NotImplementedError
728x90
'스터디 > 혼자공부하는파이썬' 카테고리의 다른 글
chapter07. 모듈(2) (0) | 2024.04.29 |
---|---|
chapter07. 모듈(1) (0) | 2024.04.23 |
chapter05. 함수 (2) (1) | 2024.04.20 |
chapter05. 함수 (1) (0) | 2024.04.17 |
chapter04. 반복문 (0) | 2024.04.15 |