파이썬 중급5 - 예외처리

Jasmine·2023년 3월 23일
0

파이썬 중급

목록 보기
5/12

예외란?

: 예외란, 문법적인 문제는 없으나 실행 중 발생하는 예상하지 못한 문제이다 (에러)

  • Exceiption이라는 최상위 클래스 내에 있는 클래스들
    ZeroDivision 0으로 나눌때
    IO 입출력
    Index 리스트에 없는걸 부를때
    Indentation 들여쓰기 잘못했을때

예외처리

: 예상하지 못한 예외가 프로그램 전체에 영향이 없도록 처리함.

  1. try ~ except
  2. try ~ except ~ else
  3. finally

try ~ except

  • 예외 발생 예상 구문만 try~ except로 예외처리

: 나눗셈 부분만 try~except 구문으로 감싼다. 예외발생 부분만! 나머지는 냅둠!

📋실습 : 사용자로부터 숫자 5개를 입력받을 때 숫자가 아닌 자료형이 입력되면 예외 처리하는
프로그램을 만들어보자.


try ~ except ~ else

  • else : 예외가 발생하지 않은 경우 실행하는 구문

: 정상적인 경우 except를 건너뛰고, else를 실행
: 예외가 발생하지 않았을 땐 따로 처리할 게 없다면, else구문 사용할 필요 없음 (필수 아님)
: 위의 예시는, try에서 숫자 입력 후 예외가 발생하지 않으면(정상적으로 숫자를 입력하면), else에서 짝/홀수를 구분해서 짝수를 입력하도록 해서, 짝수만 리스트에 추가하는 코드.

📋실습 : 사용자로부터 숫자 5개를 입력받아 짝수, 홀수, 실수로 구분해서 각각을 리스트에
저장하는 프로그램을 만들어보자 ⏳

  • 실수인지 확인하는 방법 : num - int(num) != 0 (소수부가 있다면 실수)
  • int(num) 은 반올림이 아니라 '버림'!! 정수부만 추출

finally

  • 예외 발생과 상관없이 finally 부분은 항상 실행한다

    : 오류가 발생하든 아니든, 입력한 데이터를 출력하는 코드

📋실습 : 사용자로부터 숫자 5개를 입력받아 짝수, 홀수, 실수와 입력한 모든 데이터를
각각 출력하는 프로그램을 만들어보자.


Exception 클래스

  • 예외 담당 클래스 Exception
  • except Exception as e: / print(e) : 에러 내용이 무엇인지 출력

  • raise 라이즈 키워드 : 예외를 발생시킨다 ⏳⏳⏳

📋실습 : 사용자가 문자 메시지를 보낼때 10글자 이하면 SMS로 발송하고, 10글자를
초과하면 MMS로 발송하는 프로그램을 예외처리를 이용해서 만들어보자


사용자 Exception 클래스

  • Exception 클래스를 상속해서 사용자 예외 클래스를 만들 수 있다

    ▼ 위에 클래스랑 함수는 n1, n2 변수로 해도 됨. (변수가 어디어디가 연계되는건지 파악하기)

📋실습 : 관리자 암호를 입력하고 다음 상태에 따라 예외 처리하는 예외 클래스를 만들어보자.

.
.
.

🔥제로베이스 데이터 사이언스 취업스쿨 13기🔥

profile
데이터직무를 위한 공부 기록

0개의 댓글