Time for us to shine

[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 5주차 본문

혼공학습단/혼자 공부하는 파이썬 (개정판)

[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 5주차

SH Park 2023. 8. 10. 14:54

▶5주차 미션 (8/7 ~ 8/13)

진도 : Chapter 06 ~ 07-1

기본 미션 : 구문 오류와 예외의 차이 설명하기 (p.379 1번 문제)

선택 미션 : p.381 3번 문제 풀고 인증하기 


Chapter 06 예외 처리 

 

06-1. 구문 오류와 예외 

  • 오류의 종류 
    • 프로그램 실행 전에 발생하는 오류 --> 구문 오류 
    • 프로그램 실행 중에 발생하는 오류 --> 예외 or 런타임 오류 

 

 

  • 구문 오류 
    • 프로그램의 문법적인 오류로 프로그램이 실행조차 되지 않게 만드는 오류 
    • 괄호의 개수, 들여쓰기 문제 등으로 프로그램이 실행되기도 전에 발생하는 오류 
    • SyntaxError (=Compiler error) : 구문에 문제가 있어 프로그램이 실행조차 되지 않는 오류 
print("예외를 강제로 발생시켜 볼게요!)  # 구문 오류가 발생하는 코드 

print("예외를 강제로 발생시켜 볼게요!")  # 구문 오류 해결

 

 

  • 예외 (=런타임 에러) 
    • 프로그램 실행 중에 발생하는 오류 
    • 프로그램이 일단 실행된 다음, 실행 중에 발생하는 오류 
    • 예외 처리 --> 예외를 해결하는 모든 것을 말함 
print("프로그램이 시작되었습니다!")
list_a[1]  # 예외가 발생하는 코드 

print("프로그램이 시작되었습니다!")
list_a = [1, 2, 3, 4, 5]  # list_a를 정의해준다
list_a[1]  # 예외 해결  -->  예외 처리

 

 

  • 예외 처리
    • 조건문을 사용하는 방법
    • try except 구문을 사용하는 방법 
1. 조건문으로 예외 처리하기 

[예외가 발생할 수 있는 코드]

ㅇ 정수를 입력하지 않으면 문제가 발생함
ㅇ 따라서 "정수를 입력하지 않았을 때" 를 조건으로 구분해서 해당 상황일 때 다른 처리를 하도록 설정해야함 

[조건문으로 예외 처리하기]

 

 

2. try except 구문으로 예외 처리하기 

try:
      예외가 발생할 가능성이 있는 코드 
except:
      예외가 발생했을 때 실행할 코드 
[try except 구문으로 예외 처리하기]

 

2-1. try except 구문과 pass 키워드 조합하기 

try:
     예외가 발생할 가능성이 있는 코드 
except:
      pass


--> 예외가 발생하면 일단 처리해야 하지만, 해당 코드가 딱히 중요한 부분이 아니라면 일단 프로그램이 강제 종료되는 것부터 막자는 목적
--> try구문 사용하고, 구문 내부에 아무것도 넣지 않으면 구문 오류가 발생하므로 pass 키워드를 넣어준다 

 

2-2. try except else 구문 

try:
      예외가 발생할 가능성이 있는 코드 
except:
      예외가 발생했을 때 실행할 코드 

else:

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

 

2-3. finally 구문 

try:
      예외가 발생할 가능성이 있는 코드 
except:
      예외가 발생했을 때 실행할 코드 

else:

      예외가 발생하지 않았을 때 실행할 코드 
finally:
      무조건 실행할 코드 


--> 예외 처리 구문에서 가장 마지막에 사용할 수 있는 구문
--> 예외가 발생하든 발생하지 않든 무조건 실행할 때 사용하는 코드 

 

try, except, finally 구문의 조합 
  • try 구문은 단독으로 사용할 수 없으며, 반드시 except 구문 또는 finally 구문과 함께 사용해야함 
  • else 구문은 반드시 except 구문 뒤에 사용해야함 
  • try + except 
  • try + except + else 
  • try + except + finally
  • try + except + else + finally
  • try + finally 

 


 


🎁기본미션 

구문 오류와 예외의 차이에 대해 이해한 내용을 바탕으로 위와 같이 포스팅 함 

 

🎁선택미션