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 블록을 사용하여 예외를 처리
'Basic for AI > 파이썬' 카테고리의 다른 글
torch.fill_() vs torch.full() (0) | 2024.09.07 |
---|---|
파이썬 파일처리(open, close)와 generator (0) | 2024.01.15 |