gpt4 book ai didi

.net - 我认为我正在处理的未处理的 FileLoadException

转载 作者:行者123 更新时间:2023-12-03 13:16:24 28 4
gpt4 key购买 nike

我有一个线程可以像这样初始化:

Utility.Log("1");

myThread = new Thread(new ThreadStart(delegate
{
Utility.Log("2");

然后线程的其余部分执行。奇怪的是,尽管整个事情都包含在一个 try/catch 中,但我在我的日志文件中只看到一个 1(没有 2),而且我得到了一个未处理的 System.IO.FileLoadException。我也尝试将委托(delegate)的整个主体包装在 try/catch 中,但我仍然收到该异常,并且事件查看器说异常的最顶层方法是该方法。这很奇怪。

关于如何追踪这一点,或者至少正确捕获异常的任何想法?

最佳答案

FileLoadException 是一个非常严重的事故。当 JIT 编译器尝试编译您在线程中运行的代码时会引发它。 try/catch 对无法捕获此异常,因为它是在代码开始执行之前引发的。换句话说,它会在你进入 try block 之前就爆炸了。鉴于这是一个线程,您无法阻止程序崩溃到桌面。您最后的喘息是 AppDomain.UnhandledException,e.ExceptionObject 的 InnerException 属性告诉您真正出了什么问题。

否则,此异常应始终易于修复。这是一个配置问题,JIT 编译器发现一个版本号错误的程序集或者是旧版本的程序集,类似这样。如果您无法从 AppDomain.UnhandledException 诊断它,那么 Fuslogvw.exe 工具可以向您展示它如何找到错误的程序集。完全重建您的解决方案应该是修复的一半。

关于.net - 我认为我正在处理的未处理的 FileLoadException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4005876/

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