실습 예외 클래스 만들기
Step1 다음 sign_up( ) 함수가 정상적으로 동작할 수 있도록 예외를 만들어 보세요.
Tip
내용이 없는 빈 클래스를 만들 때도 콜론 다음 줄에 반드시 네 칸 들여 쓴 코드가 있어 합니다.
01 import hashlib 02 user_db = {} # 아이디와 암호를 저장하는 변수 03 04 # 여기에 예외를 정의해 주세요. 05 06 def sign_up(username, password, password_check): 07 if username in user_db.keys(): 08 raise UsernameAlreadyExists('이미 존재하는 아이디 {}'.format(username)) 09 if len(password) < 6 or username = = password: 10 raise UnsafePassword('안전하지 않은 암호입니다') 11 if password != password_check: 12 raise PasswordDoesNotMatches('암호와 암호 확인이 일치하지 않습니다') 13 user_db[username] = hashlib.sha1( 14 '$G:{}:{}'.format(username, password).encode()).hexdigest() # 암호화 15 16 try: 17 sign_up('helloworld', 'safe_password', 'safe_password') 18 sign_up('helloworld', 'safe_password', 'safe_password') 19 except Exception as e: 20 print('가입 실패!') 21 raise # 잡은 예외를 다시 일으킵니다