面试题答案
一键面试- 使用
try - except
块捕获异常: 在Python中,我们可以在每个线程执行的函数内部使用try - except
块来捕获异常。import threading def worker(): try: # 模拟可能抛出异常的代码 result = 1 / 0 except ZeroDivisionError as e: print(f"捕获到异常: {e}") t = threading.Thread(target = worker) t.start() t.join()
- 自定义线程类并处理异常:
也可以通过继承
threading.Thread
类,并重写run
方法来处理异常。import threading class MyThread(threading.Thread): def run(self): try: # 模拟可能抛出异常的代码 result = 1 / 0 except ZeroDivisionError as e: print(f"捕获到异常: {e}") t = MyThread() t.start() t.join()
在上述两种方式中,try - except
块能够捕获线程执行函数时抛出的异常,并进行相应的处理,如打印异常信息等。这样可以避免因线程内异常导致程序意外终止。