Python InterruptedError 詳解

Python InterruptedError 是一個常見的例外,當程式執行時,可能會發生這個例外。這個例外會在程式執行時被拋出,表示程式已經被中斷,而不會繼續執行。

InterruptedError 是一個繼承自 BaseException 的例外,它會在程式執行時拋出,表示程式已經被中斷,而不會繼續執行。

InterruptedError 例外會在以下情況發生:

  • 當程式執行時,系統發出中斷訊號,例如 Ctrl + C
  • 當程式執行時,系統發出 SIGINT 信號
  • 當程式執行時,系統發出 SIGTERM 信號

InterruptedError 例外可以透過 try/except 語句來捕捉,並執行相應的操作,例如:

try:
    # 執行程式
except InterruptedError:
    # 執行中斷時的操作

InterruptedError 例外也可以使用 signal 模組來捕捉,例如:

import signal

def handler(signum, frame):
    # 執行中斷時的操作

signal.signal(signal.SIGINT, handler)
# 執行程式

InterruptedError 例外也可以使用 atexit 模組來捕捉,例如:

import atexit

def handler():
    # 執行中斷時的操作

atexit.register(handler)
# 執行程式

InterruptedError 例外也可以使用 contextlib 模組來捕捉,例如:

import contextlib

@contextlib.contextmanager
def handler():
    try:
        yield
    except InterruptedError:
        # 執行中斷時的操作

# 執行程式
with handler():
    # 執行程式


InterruptedError 例外也可以使用 threading 模組來捕捉,例如:

import threading

def handler():
    # 執行中斷時的操作

threading.Thread(target=handler).start()
# 執行程式

總結來說,InterruptedError 例外是一個常見的例外,它會在程式執行時被拋出,表示程式已經被中斷,而不會繼續執行。它可以透過 try/except 語句、signal 模組、atexit 模組、contextlib 模組和 threading 模組來捕捉,並執行相應的操作。

Categorized in:

Tagged in: