Bunny Code
[Python] - 22) 예외 객체, 예외 구분하기 본문
try except 구문으로 예외의 정보, 즉 '예외 객체'를 확인할 수 있습니다.
try :
<예외가 발생할 가능성이 있는 구문>
except <예외의 종류> as <예외 객체를 활용할 변수 이름> :
<예외가 발생했을 때 실행할 구문>
바로 예시를 들어볼게요!
위의 실행된 코드 화면을 보면 정수를 입력함으로서 생기는 오류의 종류, 즉 '예외 객체의 자료형'은 'ValueError" 라는 것을 알 수 있고,
내용은 'invalid literal for int() with base 10 : '정수' 라는 것을 알 수 있습니다.
그렇다면 위에서의 예외 객체를 사용해 예외를 구분해보도록 하겠습니다.
예외 구분은 생기는 예외의 종류가 무엇인지 알고 싶을때 사용합니다.
위의 코드에 문자열을 입력하면 아래와 같은 오류가,
범위에서 벗어난 수를 입력하면 아래와 같은 오류가 나타납니다.
위의 두 가지 오류를 구분해서 처리하고 싶을 때 except 구문 뒤에 예외의 종류를 입력해서, 예외를 구분할 수 있습니다.
try :
<예외가 발생할 가능성이 있는 구문>
except <예외의 종류A> :
<예외A가 발생했을 때 실행할 구문>
except <예외의 종류B> :
<예외B가 발생했을 때 실행할 구문>
위와 같이 예외의 종류에 따라 구분하는 것이 가능합니다!
하지만, 예외 처리 구분에 없는 예외가 발생한다면 try except 구문을 사용했음에도 불구하고 프로그램에 오류가 생깁니다.
예를 들어, 위에서 다루었던 코드 작성 시 아무런 의미없는 코드를 추가하게 되면 프로그램에 오류가 생깁니다.
위와 같이 구분되지 않는 예외가 발생하면 오류가 생깁니다.
이는 모든 예외를 다룰 수 있는 Exception 을 사용하면 해결이 가능합니다.
바로 예시를 볼게요!
이렇게 Exception 을 사용하면,
다른 오류가 발생했을 때 코드를 정상적으로 실행시켜주고 그 오류의 종류가 무엇인지도 알 수 있습니다.
여태까지 예외 처리에 대해 배웠습니다.
그런데 프로그램을 개발하다 보면, 아직 구현되지 않은 부분을 확실히 표현해야하기 때문에
일부러 예외를 발생시켜 프로그램을 종료해야하는 상황이 생깁니다.
이런 경우에 필요한 것이 raise 구문입니다.
raise <예외 객체>
예시 :
위와 같이 raise 구문을 입력하여 프로그램이 제대로 실행되지 않게 만들 수 있습니다!
'Hello Coding 파이썬' 을 참고하여 작성하였음.
'Python Basic' 카테고리의 다른 글
Matplotlib x축 선형 그대로 표현 방법만 바꾸기 (1e8 → $10^8$) (1) | 2023.11.25 |
---|---|
[Python] - 23) 표준 모듈 불러오기 (0) | 2020.09.11 |
[Python] - 21) 예외 처리(try except else finally) (0) | 2020.08.26 |
[Python] - 20) 예외 처리(조건문 활용, try except 구문) (0) | 2020.08.25 |
[Python] - 19) 파일 처리, with 구문 (0) | 2020.08.24 |