(2021.01.15)
예외처리도 야악~~간 좀 어려웠다...
이런 기능이 있는 언어를 처음 접해봐서 그런것 같다.
예외 라는 단어가 들어있어서 헷갈리는데 그냥 오류처리=예외처리 느낌이다.
book.naver.com/bookdb/book_detail.nhn?bid=15052904
참고도서: 점프투파이썬
오류 예외 처리 기법
이렇게 발생하는 오류를 유연하게 처리하는 기법이 있다.
try, except 문
try:
...
except [발생 오류[as 오류 베시지 변수]]:
...
try 블록 수행 중에 오류가 발생하면, except 블록이 수행된다.
오류가 발생하지 않으면, except 블록은 수행되지않는다.
except 구문은 3가지의 방법으로 이용할 수 있다.
1. try와 except 만 사용하기
try:
...
except:
...
이때는 오류 종류에 상관없이 오류가 발생하기만 하면 except 블록을 수행한다.
2. 발생 오류만 포함한 except 문 사용하기
try:
...
except 발생오류:
...
이때는 except 문에 적은 오류가 발생할 때만 except 블록을 수행한다.
3. 발생오류와 오류메시지 변수까지 포함한 except문
try:
...
except 발생오류 as 오류 메시지 변수:
...
이때는 except 문에 적은 오류가 발생할 때, 그 오류 메시지의 내용까지 알고 싶은 경우에 사용한다.
try finally 문
finally 는 try 문 수행 도중에 예외발생여부에 상관없이 항상 수행된다.
주고 finally 절에는 close함수가 많이 이용된다.
여러개의 오류 처리하기
try:
...
except 발생오류 1:
...
except 발생오류 2:
...
이렇게 되면 먼저 발생한 오류에 해당하는 except 문만 수행된다.
try:
...
except (발생오류1, 발생오류2, ...) :
...
이렇게 ( ) 괄호 안에 발생오류를 넣으면, 2개 이상의 오류를 동시에 처리할 수 있다.
오류 회피하기
오류를 그냥 통과 시키고 싶을 때에는 except 문에 pass 를 써주면 된다.
오류 발생시키기
파이썬에서는 raise 명령어를 이용해서 오류를 강제로 발생시킬 수 있다.
NotImplementedError 는 파이썬 내장 오류이다.
--> 작성해야하는 부분이 없을 때 일부러 오류를 일으키기 위해 쓰인다.
예외 만들기
--> Exception 은 파이썬 내장 클래스이다.
위처럼 예외를 만들고, 그 예외에 오류 메시지를 넣어 출력하고 싶다면
__str__메서드를 구현해주어야한다.
이는 오류메시지를 print 문으로 출력할 때 호출되는 메서드이다.
'Coding > Python' 카테고리의 다른 글
[Programmers] LV.1 이상한 문자 만들기 (python) (0) | 2023.04.19 |
---|---|
[Python] 3과 5의 배수 합하기 (0) | 2021.01.18 |
[Python] 파이썬 - 패키지 (0) | 2021.01.15 |
[Python] 인터프리터 종료 (0) | 2021.01.15 |
[Python] 파이썬 - 모듈 (0) | 2021.01.15 |