gpt4 book ai didi

c# - 控制台应用程序崩溃,未执行全局 try catch 和 UnhandledException

转载 作者:行者123 更新时间:2023-12-04 13:44:20 24 4
gpt4 key购买 nike

我有一个控制台应用程序,如下所示,

static void Main(string[] args) 
{
try
{
System.AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionTrapper;
// My Code
}
catch(Exception ex)
{
}
}

static void UnhandledExceptionTrapper(object sender, UnhandledExceptionEventArgs e)
{
// The code.
}
在上面的代码中,catch 和 UnhandledExceptionTrapper 都没有触发。它突然说应用程序停止工作。事件查看器没有关于崩溃的重要信息。事件查看器说存在一些文件,但在那里什么也不检查。我正在使用 .NET 4.6.1。
该代码只是从 oracle(使用 dapper)和使用 TransactionScope 提取数据。
编辑:我们已经找到了罪魁祸首。它正在对包裹在 TransactionScope 中的 Oracle 进行更新。问题是无法捕捉到这些异常,它有时会出现并且大部分时间都会失败。这些是使用 Dapper 更新 Oracle 的示例代码。
using (var scope = new TransactionScope())
{
UpdateOracleUsingDapperMethod();
scope.Complete();
}
相关: https://github.com/dotnet/runtime/issues/30422

最佳答案

我们发现该问题与 OleDbConnection 有关.所以,我们搬到了 OracleConnection并且没有崩溃。这意味着在 Dapper 中使用 Oracle TransactionScopeOleDbConnection有一些严重的问题。

关于c# - 控制台应用程序崩溃,未执行全局 try catch 和 UnhandledException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51695314/

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