Basic for AI/파이썬

SytaxError와 Exception의 차이

서이서 2024. 2. 29. 18:19

SytaxError와 Exception의 차이

 

Syntax Error과 Exception은 모두 오류의 일종이다.

error name 의미 해결법
Syntax Error 코드에 문법적 오류로 프로그램이 실행조차 되지 않는 오류 문법적 오류를 해결
Exception 프로그램 실행 중 발생하는 오류 (프로그램에서 처리할 수 없는 특정 상황 발생) 조건문, 예외 구문(try-except) 등을 사용한 예외 처리

 

Exception의 종류

1. 기본 예외:

  • ZeroDivisionError: 0으로 나누려고 할 때 발생합니다.
  • TypeError: 잘못된 자료형에 대한 연산을 수행하려고 할 때 발생합니다.
  • ValueError: 잘못된 값을 입력했을 때 발생합니다.
  • IndexError: 리스트 인덱스가 범위를 벗어났을 때 발생합니다.
  • KeyError: 딕셔너리에 없는 키를 사용했을 때 발생합니다.

2. 입출력 예외:

  • IOError: 입출력 작업 중 오류가 발생했을 때 발생합니다.
  • FileNotFoundError: 파일을 찾을 수 없을 때 발생합니다.

3. 메모리 예외:

  • MemoryError: 메모리 할당에 실패했을 때 발생합니다.

4. 시스템 예외:

  • KeyboardInterrupt: 사용자가 Ctrl+C 키를 누를 때 발생합니다.
  • SystemExit: 프로그램이 종료될 때 발생합니다.

5. 사용자 정의 예외:

 

cf. Runtime error?

해당 내용을 살펴보면서 runtime error에 대한 내용이 나왔는데 이건 뭐 어디 속하는건지 뭔지 헷갈려서 따로 정리.

일반적으로 말하는, syntax error 및 exception을 포함하는 error라는 단어가 Runtime error를 의미하는 것 같다.

 

Runtime error는 프로그램 실행 중 발생하는 모든 오류를 통칭하는 용어. 예외(Exception)는 Runtime Error의 한 종류이지만, 모든 Runtime Error가 예외는 아니다.

 

1. Runtime Error 종류:

  • Syntax Error: 코드 작성 오류 (예: 괄호 누락, 맞춤법 오류)
  • Logical Error: 코드 설계 오류 (예: 무한 루프, 잘못된 알고리즘)
  • Memory Error: 메모리 할당 오류 (예: 메모리 부족, 누수)
  • Exception: 프로그램에서 처리할 수 없는 특정 상황 (예: 0으로 나누기, 없는 키 사용)

2. Runtime Error 발생 원인:

  • 잘못된 코드: 코드 작성 오류, 논리 오류
  • 외부 환경 변화: 예상치 못한 입력 값, 시스템 문제

3. Runtime Error 해결 방법:

  • Syntax Error: 코드를 검토하고 수정
  • Logical Error: 코드 설계를 검토하고 수정
  • Memory Error: 메모리 사용량을 줄이거나 코드를 최적화
  • Exception: try-except 블록을 사용하여 예외를 처리