● 오류의 종류
- 구문 오류 : 문법이 잘못 되어서 실행할 수 없는 문제 -> 코드를 다시 써야 해결 된다.
- 실행 예외 : 문법은 맞지만 논리가 잘못 되어서 실행할 수 없는 문제 -> 예외. 앞뒤로 코드를 추가해서 대응할 수 있다. (예외처리)
- 예외 처리 : 실행 예외에 대해서 대응하는 기법
●기본 예외 처리
try : 예외가 발생할지도 모르는 코드 작성
except : 만약 예외가 발생하면 어떻게 할지 작성
else : 예외가 발생하지 않으면 발생하는 코드
● except 는 각 예외 상황 별로 출력을 정할 수 있음
● try에서 예외가 발생하는 것은 반복문에서 break가 발생하는 것과 동일하게 try는 끝난다.
오류가 두 건 발생한다면 가장 위에 있는 코드의 에러 구문만 출력하고 멈춘다.
예외에다가 as로 식별자를 붙이게 되면 해당 예외에 대한 객체가 부여된다.
● fianally
예외가 발생하든 안하든 마지막엔 무조건 출력하는 코드
● raise 예외를 발생시킨다.
age = 3
if age == 3 :
raise NotImplementedError # 구현이 되지 않았기 때문에 예외를 발생시킨다.
Traceback (most recent call last):
File "<pyshell#224>", line 2, in <module>
raise NotImplementedError # 구현이 되지 않았기 때문에 예외를 발생시킨다.
NotImplementedError
● Exception 예외 클래스의 꼭대기
미리 정해져있는 예외 클래스.
예외는 모두 클래스 형태로 정의가 되어 있다.
이 모든 예외를 전부 다 포함하는 예외키워드 : Exception
예외의 가장 기초적인 부분이 정의된 클래스
다른 클래스들은 Exception 으로부터 상속된 것
존재하지 않는 예외 이름을 만들고 싶다면 Exception 을 상속받아 직접 만들 수도 있음.
AgeError 를 만든다면
Exception 에서 상속을 받아서 AgeError를 만듦.
'파이썬 > 파이썬 자습 노트' 카테고리의 다른 글
파이썬 공부 요약 노트 5. 문법 정리 (1) 문자열 출력 (0) | 2022.10.20 |
---|---|
파이썬 공부 요약 노트 3. 클래스 (0) | 2022.10.20 |
파이썬 공부 요약 노트 2. 변수, lambda, map() (0) | 2022.10.20 |
파이썬 공부 요약 노트 1. 자료형 ~ 반복문 (0) | 2022.10.20 |