AI/혼공학습단10기_Python

[혼공파] 5주차 과제 - 예외처리, 모듈(1/2)

moviewine 2023. 8. 8. 22:56

1. 요약

1) 예외 처리
  - 구문 오류(Syntax error)는 프로그램의 문법적인 오류로 프로그램 실행조차 되지 않게 만드는 오류임.
  - 예외(Exception or Runtime error)는 프로그램 실행 중에 발생하는 오류로서, try catch 구문 등으로 처리할 수 있음.
    참고로 구문 오류는 실행 자체가 안되므로 try catch 구문으로 처리할 수 없음.
  - 기본 예외 처리는 if else(조건문) 등을 사용해 예외를 처리하는 기본적인 방법
  - try exception 구문은 예외 처리에 특화된 구문
  - 예외 객체는 예외와 관련된 정보를 담고 있는 객체
  - raise구문은 예외를 강제로 발생시킬 때 발생하는 구문

2) 모듈
  - 표준 모듈은 파이썬이 기본적으로 제공하는 모듈
  - import 구문은 모듈을 읽어 들일 때 사용
  - as 키워드는 모듈을 읽어 들이고 별칭을 붙일 때 사용.
     ex) import numpy as np
  - 파이썬 문서에는 모듈의 자세한 사용법이 들어 있음.


2. 구문 오류와 예외의 차이
프로그램 언어의 오류(error)에는 크게 두 종류가 있으며, 하나는 프로그램 실행 전 발생하는 오류(Syntax error)이고 다른 하나는 프로그램 실행 중에 발생하는 오류(Exception or Runtime error)임.

1) 구문 오류(Syntax error)
  - 프로그램이 실행되기 전에 발생하는 오류
  - 대개 괄호의 개수, 들여쓰기 등에 의해 문제 발생
  - 오류 코드 예시:
    SyntaxError: EOL(End of Line) while scanning string literal

2) 예외(Exception)
  - Exception 또는 Runtime error는 프로그램 실행 중에 발생하는 오류임.
  - 오류 코드 예시:
    NameError: name ‘list_a’ is not defined


3. 다음 중 구문 오류(Syntax error) 발생이 예상되면 “구문 오류”에, 예외(Exception) 발생이 예상되면 “예외”를 기재하고 예상되는 에러명 제시하기.
1) out = 10 + “개“
  - Exception
  - ValueError => int와 str을 연산하여 하나의 변수에 넣을 수 없음.

2) int(“안녕하세요”)
  - Exception
  - ValueError => str은 int로 표현할 수 없음.

3) cursor.close)
  - SyntaxError => 여는 괄호 누락

4) [1, 2, 3, 4, 5][10]
  - Exception
  - IndexError => 참조하는 list의 원소는 5개 뿐이므로 index가 0~4까지 가능.