[zerobase_데이터 취업스쿨_스터디노트] 2. Exception 사용자 예외 클래스

김소희·2023년 11월 11일
0

study_note

목록 보기
2/50
  • 사용자 예외클래스인 Exception 에 대해서 정리해보겠다.
예시코드)

class NotUseZeroException(Exception):
    
    def __init__(self, n):
        super().__init__(f'{n}은(는) 사용할 수 없습니다.')
    
    
def divCarculator(n1, n2):
    
    if n2 == 0:
        raise NotUseZeroException(n2)
    
    else:
        print(f'{n1} / {n2} = {n1/ n2}')
        
num1 = int(input('input number1: '))
num2 = int(input('input number2: '))

try:
    divCarculator(num1, num2)
except NotUseZeroException as e:
    print(e)
    
    
실행결과)
input number1: 10
input number2: 0
0은(는) 사용할 수 없습니다.

실습코드)

class PasswordLengthShortException(Exception):
    
    def __init__(self, str):
        super().__init__(f'{str}: 길이 5미만')
        
class PasswordLengthLongException(Exception):
    
    def __init__(self, str):
        super().__init__(f'{str}: 길이 10초과')
        
class PasswordhWrongException(Exception):
    
    def __init__(self, str):
        super().__init__(f'{str}: 잘못된 비밀번호')
        

password = input('input admin password: ')

try:
    if len(password) < 5:
        raise PasswordLengthShortException(password)
    elif len(password) > 10:
        raise PasswordLengthLongException(password)
    elif password != 'password':
        raise PasswordhWrongException(password)
    elif password == 'password':
        print('빙고!')
    
except PasswordLengthShortException as e1:
    print(e1)

except PasswordLengthLongException as e2:
    print(e2)
    
except PasswordhWrongException as e3:
    print(e3)
    

나만의 Exception 문을 class 로 만들어서 사용하는 코드이다.
class , def , try 문으로 크게 뜯어서 보면 좀 더 이해가 쉬울 것 이다.

어려웠던 점

음..아무래도 클래스를 만들어두고 함수와 실행문을 만들어야 하는 그 구조를
머리속으로 짜는데 시간이 좀 걸릴 것 같다. 스스로 만들기에는 아직은 어렵기 때문에
더 실습코드로 연습을 해야 할 것 같다.
코드를 보면 이해가 되지만 백지에서 저런 코드를 짜는 것은 아직은 머리가 뽀가진다..ㅎ
그치만 완성이 되었을 때 그 쾌감이 엄청나기 때문에 공부를 계속 해야 겠다는 생각이 든다!

내일 할 일

강의 12일꺼까지 다 듣기!!

※ 이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
profile
AI 개발자로 가는 길 두렵지 않아요

0개의 댓글