异常基础知识
-异常简介:
运行时错误
-异常类:
异常数据
异常名称,异常数据,异常类型
-自定义异常
class SelfDefinedError(Exception):
pass
继承自Exception异常类。
-捕获异常
exc = sys.exc_info()
exc是tuple类型.
exc_type,exc_obj,exc_trace = exc # exc tuple unpack
# exc_type:exc名称列表
# exc_obj:exc实例列表
# exc_trace:exc的traceback实例列表
但是sys.exc_info()函数捕获不到子线程异常,这应该是由于线程机制导致的。
-多线程
threading
multiprocessing
高级抽象模块Concurrent.futures模块。
https://blog.csdn.net/xiaoyu_wu/article/details/102820384
https://blog.csdn.net/luanmousheng/article/details/77688356
在查询相关资料时,发现java竟然也有相同的机制,而且该文章说明了线程池的执行原理。
-并发,并行与异步编程
https://blog.csdn.net/xiaoyu_wu/article/details/102820384
这个博主写了不少这方面的文章。
Q1:主线程捕获不到子线程异常
https://www.pianshen.com/article/3541183955/
这篇文章举的场景我觉得有些多余,子线程内部可以处理异常,为什么要放到主线程来做呢?
https://www.cnblogs.com/presleyren/p/11673218.html
Q2:锁机制
网友评论