오류
함수나 메소드가 처리 도중에 다음 명령문을 실행할 수 없는 상황.
여러개 있으면 class 하나만 있으면 함수가 된다
해결할 수 없는 것 = 오류,에러
- 예외처리
- 예외 발생 → 예외 상황정의
try, except구문
try:
Exception 발생가능한 코드 블록
except [Exception클래스 이름 [as 변수]] :
처리 코드
예를 들어,
try:
1번 코드..
2..
except
처리
5..
1에서 exception 발생하면 처리로 가고 다시 올라가는게 아니라 5번으로간다.
정상적으로 끝나면 exception 은 실행x
exception 과 if문이 비슷
elif처럼 위에서 except 가 처리되면
except 처리한다. 영향을 미치는 것들을 버스가 안오면 그 밑에는 블럭처리해서 넣어준다
finally구문
finally는 무조건 실행된다
try - finally (exception이 없어도 실행)
무조건실행할 코드는 finally에 넣어라. 어떤 상황에서든 finally에서 실행하고 종료된다.
여기까지 예외발생
raise와 return
특정단계에서 부른다음에 처리하고 return (= 정상종료)
그러나 정상종료가 아닌데도 return을 할 경우가 있다 → 그럴때 raise를 사용 (=비정상return)
raise는 정상종료를 못하고 return 했을때 정상적으로 끝나지 못했다고 알려준다. : raise Exception 객체
Call stack mechanism
a()↔ b()↔ c()
stack 구조: 먼저들어간 것이 마지막에 나가는것. 나가는 곳이 하나 (first in last out) 정상이든 비정상이든 종료가된다.
queue 구조: first in first out
저번에 기록해뒀던게 날라가서 새로 썼다.
이 부분은 조금 더 보충하기!
'데이터 분석일기 > python' 카테고리의 다른 글
정규표현식 (Regular Expression) (1) | 2023.08.29 |
---|---|
Iterable, Iterator, Generator와 Decorator (0) | 2023.08.28 |
입출력 (1) | 2023.08.24 |
객체지향 프로그래밍 (0) | 2023.08.21 |
함수 (0) | 2023.08.17 |