gpt4 book ai didi

c# - try catch 不处理 BadImageFormatException

转载 作者:行者123 更新时间:2023-11-30 14:02:17 25 4
gpt4 key购买 nike

我有一个正在加载外部 DLL 的 MVC 应用程序,在生产环境中我完全没有收到任何错误。 Firefox 只是说连接已重置。所以我在代码中放了一些 try/catch 但它们仍然不起作用,我仍然收到连接重置消息。

我知道错误是 BadImageFormatException 但为什么我在浏览器中看不到任何内容?

 public class HomeController : Controller
{

[DllImport("CDCrypt.dll")]
[return: MarshalAs(UnmanagedType.LPStr)]
public static extern String Encrypt([MarshalAs(UnmanagedType.LPStr)] String aName);



[DllImport("CDCrypt.dll")]
[return: MarshalAs(UnmanagedType.LPStr)]
public static extern String Decrypt([MarshalAs(UnmanagedType.LPStr)] String aName);


//
// GET: /Home/

public ActionResult Index()
{

try
{
ViewBag.EncryptString = Encrypt("test");
}
catch (Exception e)
{
ViewBag.EncryptString = "Stack Trace\r\n:" + "\r\nException: " + e.Message;
return new HttpStatusCodeResult(500);
}
return View();
}

public ActionResult Up()
{
ViewBag.Up = "You can see me";
return View();
}



}

最佳答案

似乎有一些异常被标记为不可恢复,因此无法捕获。 This question (嗯 this answer 真的)有一个列表,但我不知道它有多详尽。

This article有一些关于不可捕获的异常的更多信息,以及如何在您抛出异常时捕获异常,但在运行时抛出异常时如何捕获异常。

This question表示执行 catch 而不是 catch(Exception ex) 也将允许捕获 COM 异常。不知道这是否有帮助(我怀疑)但很有趣,而且可能。

关于c# - try catch 不处理 BadImageFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6254610/

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