<jupyter_start><jupyter_text>chapter14 예외처리  14-1 예외가 발생하는 상황<jupyter_code>lst = [1, 2, 3]
lst[3]
3 + "coffee"
3 / 0<jupyter_output><empty_output><jupyter_text>14-2 예외의 처리 - 사례를 서른을 입력해본다<jupyter_code># age.py
def main():
	print("안녕하세요.")
	age = int(input("나이를 입력하세요: "))
	print("입력하신 나이는 다음과 같습니다:", age)
	print("만나서 반가웠습니다.")

main()<jupyter_output><empty_output><jupyter_text>14-3 보다 적극적인 예외의 처리 - 서른을 입력해본다<jupyter_code># age_expt.py

def main():
  print("안녕하세요.")
  try:
    age = int(input("나이를 입력하세요: "))
    print("입력하신 나이는 다음과 같습니다:", age)
  except ValueError:
    print("입력이 잘못되었습니다.")

  print("만나서 반가웠습니다.")

main()
# age_expt_conti.py
def main():
  print("안녕하세요.")
  while True:
    try:
      age = int(input("나이를 입력하세요: "))
      print("입력하신 나이는 다음과 같습니다:", age, "입력이 정상적이므로 루프를 탈출합니다!")
      break     # 입력이 정상적이면 while 루프 탈출!
    except ValueError:
      print("입력이 잘못되었습니다.")
  print("만나서 반가웠습니다.")

main()<jupyter_output><empty_output><jupyter_text>14-4 둘 이상의 예외를 처리하기 - 다음 사례에서 예상되는 문제는 무엇이 있는지 논의해보자<jupyter_code># div.py

def main():
    bread = 10     # 열 개의 빵
    people = int(input("몇 명? "))
    print("1인당 빵의 수: ", bread / people)
    print("맛있게 드세요.")
    
main()<jupyter_output><empty_output><jupyter_text>- 일차적인 해결 방안<jupyter_code># div_expt1.py

def main():
    bread = 10     # 열 개의 빵

    try:
        people = int(input("몇 명? "))
        print("1인당 빵의 수: ", bread / people)
    except ValueError:
        print("입력이 잘못되었습니다.")
    except ZeroDivisionError:
        print("0으로는 나눌 수 없습니다.")

    print("맛있게 드세요.")
    
main()<jupyter_output><empty_output><jupyter_text>- 더 완벽한 해결 방안<jupyter_code># div_expt2.py

def main():
  bread = 10     # 열 개의 빵
  while True:
    try:
      people = int(input("몇 명? "))
      print("1인당 빵의 수: ", bread / people)
      print("맛있게 드세요.")
      break
    except ValueError:
      print("입력이 잘못되었습니다.")
    except ZeroDivisionError:
      print("0으로는 나눌 수 없습니다.")
    
main()<jupyter_output><empty_output><jupyter_text>14-5 예외 메시지 출력하기와 finally<jupyter_code># div_expt3.py

def main():
  bread = 10     # 열 개의 빵
  while True:
    try:
      people = int(input("몇 명? "))
      print("1인당 빵의 수: ", bread / people)
      print("맛있게 드세요.")
      break
    except ValueError as msg:
      print("입력이 잘못되었습니다.")
      print(msg)
    except ZeroDivisionError as msg:
      print("0으로는 나눌 수 없습니다.")
      print(msg)
    
main()<jupyter_output><empty_output><jupyter_text>- finally 구문을 활용한다<jupyter_code># div_expt4.py

def main():
  bread = 10     # 열 개의 빵
  while True:
    try:
      people = int(input("몇 명? "))
      print("1인당 빵의 수: ", bread / people)
      print("맛있게 드세요.")
    except ValueError:
      print("입력이 잘못되었습니다.")
    except ZeroDivisionError as msg:
      print("0으로는 나눌 수 없습니다.")
      print(msg)
    finally:
      print("어쨌든 프로그램은 종료합니다.")
      break
    
main()<jupyter_output><empty_output><jupyter_text>14-6 모든 예외 그냥 무시하기  - 모든 예외를 다 처리하는 방법<jupyter_code># ignore_expt.py

def main():
  bread = 10     # 열 개의 빵
  while True:
    try:
      people = int(input("몇 명? "))
      print("1인당 빵의 수: ", bread / people)
      print("맛있게 드세요.")
      break;
    except:
      print("뭔지는 몰라도 예외가 발생했군요.")

main()<jupyter_output><empty_output>
StarcoderdataJupyterStructuredCleanDedup