목록사용자정의 (2)
지 구 여 행

정상 예제 (→) 표시한 if문과 break의 위치에 따라 결과값이 달라진다. [문제 1] 위 정상예제의 (→)표시한 if문을 elif를 이용하여 while문에 포함시키는 경우 → 남은 치킨의 수가 0이 되어도 while문이 반복된다. else문내에 order수에 따라 달라진 chicken(남은 치킨의 수)변수값 = 0 일 때, SoldOutError로 예외처리를 시키기 위해서는 else문 안에 if chicken==0: 문이 들어와야 정상 실행이 가능하다. [문제 2] 위 정상예제의 (→)표시한 break가 if문 안에 위치할 경우 → 남은 치킨의 수가 0이 되어도 while문이 반복된다. 아래 문제 예제에 (→)표시한 break는 if문을 종료하기 때문에 chicken=0이 되어도 while문이 재실..

사용자 정의 예외 처리 정의 파이썬에서 제공하는 에러가 아닌, 사용자가 원하는 에러를 직접 정의하여 예외 처리하는 방법 [방법 1] 특정 조건에서 raise를 이용 → 바로 except 블록 실행 [방법 2] 사용자가 정의한 에러로 클래스 생성 → try 블록에서 해당 클래스 호출 → except블록에서 변수로 받아 출력 ① 사용자가 정의한 에러 발생 = 입력값(a,b) 중 하나라도 20 이상의 수를 입력 → 사용자가 정의한 에러의 클래스(StringError)를 호출 raise 클래스이름("오류메시지") 예제) raise StringError("사용자가 정의한 오류입니다.") ② StringError이 호출될 때 입력한 '오류메시지'가 클래스 내부의 인스턴스(self.msg)에 담겨 반환 class 클..