gpt4 book ai didi

c# - 防止程序在崩溃时意外关闭(包括使用 TRY-CATCH)

转载 作者:行者123 更新时间:2023-12-03 16:22:36 25 4
gpt4 key购买 nike

我在我的系统中使用第三方软件来控制代理。
所以每个网络连接都使用该代理软件。
在我的 Windows 应用程序中,我有一些用于通过 上传文件的代码FTP .
我在 ftp 类和主应用程序中有很多 try-catch,以防止显示任何错误并停止应用程序。
当该代理软件运行并且该 ftp 类试图连接到我的服务器时,我突然关闭了该代理软件,我的程序因未知原因而关闭。
我怎样才能阻止该程序在崩溃时关闭并使其保持活力?
为什么那些 tr-catch 不能做他们的工作?

编辑 1:
那些捕获部分永远不会运行以获得错误。
请看这张照片:

IMAGE 1

IMAGE 2

但正常的异常窗口是这样的:

IMAGE 3

编辑 2:
我的 try/catch 如下所示:

class My_FTP
{
public void upload()
{
try
{
//Codes

CRASH IS HERE AND WE NEVER JUMP TO CATCH EREA!!!!!!!!!!!!!!!!!!!!

while (bytesSent != 0)
{

}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}


private void Form1_Load(object sender, EventArgs e)
{
try
{
My_FTP my_ftp_ = new My_FTP();
my_ftp_.upload();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}

try
{
//Other_Codes;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}

}



我试过这些:

Thread: "vshost32-clr2.exe has stopped working" -> 不是以编程方式

VShost32.exe stopped working, but I can continue debugging -> 没有帮助

最佳答案

这可能是因为第三方库中的 native 代码,您无法以这种方式捕获 native 异常,我在 C# 中使用 LibVlc 时遇到了类似的问题,

您可能会在此处找到一些帮助来捕获 native 异常 (http://msdn.microsoft.com/en-us/magazine/dd419661.aspx)

类似问题 Can you catch a native exception in C# code?

也尝试删除(Exception ex)从 catch 语句

关于c# - 防止程序在崩溃时意外关闭(包括使用 TRY-CATCH),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21160149/

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