Python 내장 예외 및 오류 유형 치트 시트

일반적인 Python 오류 유형에 대한 참조 가이드입니다. ValueError, TypeError, IndexError, KeyError를 디버깅하고 예외를 발생시키는 방법을 알아보세요.

공통 논리 및 값 예외

일치하지 않는 작업, 누락된 인덱스 또는 변수 오류를 나타내는 예외입니다.

방법/기능구문설명
ValueErrorint("abc")함수가 올바른 유형의 인수를 받았지만 값이 부적절할 때 발생합니다.
TypeError"1" + 2부적절한 유형의 객체에 작업이나 함수가 적용될 때 발생합니다.
IndexErrormy_list[10]시퀀스 첨자가 범위를 벗어날 때 발생합니다.
KeyErrormy_dict["missing"]사전 키를 찾을 수 없을 때 발생합니다.
AttributeErrormy_str.append("x")속성 참조 또는 할당이 실패할 때 발생합니다(예: 문자열에 대한 목록 메서드 호출).

런타임 및 리소스 예외

외부 파일 시스템, 계산 충돌 또는 실행 구문 오류를 나타내는 문제입니다.

방법/기능구문설명
FileNotFoundErroropen("missing.txt")파일이나 디렉터리가 요청되었지만 존재하지 않을 때 발생합니다.
ZeroDivisionError1 / 0나누기 또는 모듈로 연산의 두 번째 인수가 0일 때 발생합니다.
SyntaxErrorwhile True print("hi")파서가 구문 오류를 발견하면 발생합니다.
NameErrorprint(undefined_variable)로컬 또는 전역 이름을 찾을 수 없을 때 발생합니다.
StopIterationnext(exhausted_iterator)반복자에 더 이상 항목이 없음을 알리기 위해 내장된 next()에 의해 발생합니다.

대화형 데모 스크립트

run_all_cheat_methods.py
에디터에서 실행
# ValueError
int("abc")

# TypeError
"1" + 2

# IndexError
my_list[10]

# KeyError
my_dict["missing"]

# AttributeError
my_str.append("x")

# FileNotFoundError
open("missing.txt")

# ZeroDivisionError
1 / 0

# SyntaxError
while True print("hi")

# NameError
print(undefined_variable)

# StopIteration
next(exhausted_iterator)

자주 묻는 질문

Python에서 여러 예외를 어떻게 포착합니까?

예를 들어, Except (ValueError, TypeError)를 e:처럼 단일 Except 블록에서 튜플로 지정할 수 있습니다.

언제 수동으로 예외를 발생시켜야 합니까?

코드에서 유효성 검사 실패와 같이 정상적인 실행을 방해하는 예기치 않은 조건이 발생할 경우 raise 키워드를 사용하여 예외를 발생시킵니다.

관련 주제

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.