Python

Python 예외처리

dldbwls0818 2024. 9. 30. 16:32

예외(Exception)

- 프로그램 실행 중 발생할 수 있는 예상치 못한 문제 또는 오류 상황을 의미합니다.

- 종류는 너무 많습니다. ex) ValueError, TypeError, ZeroDivisionError 등등

- 이러한 Error들은 전부 Exception 클래스를 상속받은 클래스입니다.

 

예외처리 기본 구조

try except 구문(예외처리 문)

첫번째 코드는 ZeroDivisionError 오류가 뜬다면 아래 코드를 실행하겠다 라는 의미이며, try except로 인해 정상 종료가 되었기 때문에 7번줄이 실행이 된것이다.

두번째 코드는 5번줄에 에러 타입을 정의하지 않았기 때문에 모든 에러를 Exception 클래스를 통해(생략가능) 처리한다 라는 얘기이다.

 

스페셜 메소드를 연습하기 위해 내가 만든 코드이다.

대개 위와 같은 식으로 사용한다.

 

Exception 클래스

- 파이썬 내장 예외 계층구조에서 거의 모든 내장 예외의 기본 클래스입니다.

 

* raise

 - 강제적으로 Error를 낼 수 있게 만드는 키워드이며, 출력할 메세지를 입력하면 그 메세지로 나온다.

 

 

Exception을 상속받아 내가 원하는 Error 클래스 만들기

- 나이 데이터(10개)를 입력받아 mz세대인지 아닌지를 판별하고 형식에 맞게 출력한다.

1. (내 방법)

내 방법에서 고쳐할 점은 MZ세대에 포함이 된 나이 임에도 불구하고 오류를 raise한다는 점이다.

출력값은 같지만 문제 의도에 "판별"이기 때문에 옳지 않은 코드이다. 

 

2. (강사님 방법)

이 두개로 알 수 있는것은 try except문을 어디에 사용하든 오류가 날 때 처리해주기 때문에 위치는 상관없다.

'Python' 카테고리의 다른 글

Python 파일 입출력  (0) 2024.10.01
Python 모듈(in Colab)  (0) 2024.10.01
Python 스페셜 Method  (0) 2024.09.30
Python 상속  (0) 2024.09.27
객체 지향과 클래스  (2) 2024.09.27