본문 바로가기
Error(Exception)/ERROR-PYTHON

[python] KeyboardInterrupt

by 조조군 2024. 11. 26.
반응형

오류: 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

댓글