gpt4 book ai didi

c# - 当 .NET 线程抛出异常时会发生什么?

转载 作者:IT王子 更新时间:2023-10-29 04:46:38 24 4
gpt4 key购买 nike

我们有一个 IPoller 接口(interface),我们有各种实现。我们有一个进程将采用 IPoller 并在单独的线程中启动它。我正在尝试想出一种通用方法来为任何不自己执行异常处理的 IPoller 提供异常处理。

我最初的想法是创建一个 IPoller 的实现,它接受一个 IPoller 并只提供一些日志记录功能。我遇到的问题是如何提供此错误处理?如果我有作为线程目标的 IPoller.Start() 是哪里会发生异常?或者线程本身是否有我可以 Hook 的东西?

最佳答案

类似于:

Thread thread = new Thread(delegate() {
try
{
MyIPoller.Start();
}
catch(ThreadAbortException)
{
}
catch(Exception ex)
{
//handle
}
finally
{
}
});

这将确保异常不会到达线程的顶部。

关于c# - 当 .NET 线程抛出异常时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1668634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com