반응형
오류: KeyboardInterrupt
1. 오류 설명
KeyboardInterrupt
는 사용자가 프로그램 실행 중 Ctrl+C를 눌러 프로그램의 실행을 강제로 중단했을 때 발생하는 예외입니다. Python 인터프리터는 이 신호를 감지하고 해당 예외를 발생시켜 실행 중인 프로그램을 종료하거나 제어권을 개발자에게 반환합니다.
2. 오류 예시
사용자가 실행 중인 스크립트가 무한 루프를 포함하거나 긴 시간 동안 실행 중일 때, Ctrl+C를 눌러 중단하면 이 오류가 발생합니다.
# 예제: 무한 루프
while True:
print("Running...")
위 코드를 실행한 상태에서 Ctrl+C를 누르면 다음과 같은 오류가 발생합니다:
Running...
Running...
^CTraceback (most recent call last):
File "example.py", line 2, in <module>
while True:
KeyboardInterrupt
3. 오류 해결책
KeyboardInterrupt
는 사용자가 의도적으로 프로그램을 중단하려는 시도에서 발생하므로 "해결"이 필요하지 않을 수 있습니다.- 하지만, 프로그램에서 Ctrl+C를 누르더라도 특정 작업(예: 리소스 정리)을 수행하거나 중단 시 다른 동작을 실행하고 싶다면,
try-except
블록으로KeyboardInterrupt
를 처리할 수 있습니다.
4. 오류 예제 코드 및 해결 코드
예제 코드 (오류 발생)
# 무한 루프에서 Ctrl+C로 프로그램 종료 시 KeyboardInterrupt 발생
while True:
print("Press Ctrl+C to stop")
해결 코드
# KeyboardInterrupt 처리
try:
while True:
print("Press Ctrl+C to stop")
except KeyboardInterrupt:
print("\nProgram interrupted by user. Exiting gracefully.")
결과
Press Ctrl+C to stop
Press Ctrl+C to stop
^C
Program interrupted by user. Exiting gracefully.
위 코드처럼 try-except
를 사용하면, 사용자가 Ctrl+C를 눌렀을 때 프로그램이 즉시 종료되지 않고, 지정된 동작을 수행한 후 종료됩니다.
반응형
'Error(Exception) > ERROR-PYTHON' 카테고리의 다른 글
[python] NameError (1) | 2024.11.27 |
---|---|
[python] MemoryError (0) | 2024.11.27 |
[python] KeyError (0) | 2024.11.25 |
[python] IndexError (0) | 2024.11.24 |
[python] ModuleNotFoundError (0) | 2024.11.23 |
댓글