구문 오류와 예외

오류의 종류

  • 구문오류 : 실행 전 발생하는 오류

  • 예외 or 런타임 오류 : 프로그램 실행 중에 발생하는 오류

기본 예외 처리

조건문을 사용하는 방법 try 구문을 사용하는 방법

  • 조건문으로 예외 처리하기

    user_input_a = input("정수 입력> ")
    if user_input_a.isdigit():
      number_input_a = int(user_input_a)
      print("원의 반지름:", number_input_a)
      print("원의 둘레:", 2 * 3.14 * number_input_a)
      print("원의 넓이:", 3.14 * number_input_a * number_input_a)
    else:
      print("정수를 입력하지 않았습니다.")
  • try except 구문으로 예외를 처리

    try:
      number_input_a = int(input("정수 입력> "))
      print("원의 반지름:", number_input_a)
      print("원의 둘레:", 2 * 3.14 * number_input_a)
      print("원의 넓이:", 3.14 * number_input_a * number_input_a)
    except:
      print("무언가 잘못되었습니다.")

try except 구문과 pass 키워드 조합하기

try except else 구문으로 예외를 처리

try except else finally 구문으로 예외를 처리

정리

  • 예외 처리 조합

    코드

    설명

    try

    예외가 발생할 가능성이 있는 코드

    except

    예외가 발생했을 때 실행할 코드

    else

    예외가 발생하지 않았을때 실행할 코드

    finally

    무조건 실행할 코드

예외 적용 : 파일이 제대로 닫혔는지 확인

예외 적용 : 파일 처리 중간에 예외 발생

예외 적용 : finally 구문 사용해 파일 닫기

예외 적용 : try exceop 구문 끝난 후 파일 닫기

예외 적용 : try 구문 내부에서 return 키워드를 사용하는 경우

예외 적용 : fianlly 키워드 활용

예외 적용 : 반복문과 함꼐 사용하는 경우

예외 처리 고급

예외 객체

여러가지 예외가 발생할 수 있는 코드 : 2가지

에러 1 : 정수로 변환될수 없는 값을 입력 ex) "yes!!" 에러 2 : 리스트의 길이를 넘는 인덱스를 입력한 경우 ex) 100

여러가지 예외가 발생할 수 있는 코드 : 다중

예외 구분 구문과 예외 객체 : as 키워드를 사용하여 추가

예외 처리를 했지만 예외를 못잡는 경우

모든 예외 잡기

예외 강제 처리 : raise 구문

프로그램 강제 종료되는 것을 막기 위해 예외 처리를 해야하며, 아직 구현되지 않는 부분이므로 일부러 예외를 발생시켜 프로그램을 죽게 만들어 잊어버리지 않도록 하는 것이 raise 키워드 이다

  • 사용법

Last updated