我在我的系统中使用第三方软件来控制代理。
所以每个网络连接都使用代理软件。
在我的windows应用程序中,我有一些代码可以通过FTP上传我的文件。
在ftp类和主要应用程序中,我有许多试图捕获,以防止显示任何错误并停止应用程序。
当该代理软件运行,而ftp类试图连接到我的服务器时,我突然关闭了代理软件,我的程序因未知原因关闭。
我怎样才能阻止这个程序在崩溃的时候结束并保持它的活力?
为什么那些渔获物不能做好他们的工作?
编辑1 :
那些捕获部件永远不会运行以获得错误。
请看这张照片:


但是正常的异常窗口如下所示:

编辑2 :
我的尝试/捕捉如下:
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());
}
} 我试过这些:
线程:“vshost32 32-clr2.exe已停止工作” ->不以编程方式
VShost32.exe停止工作,但我可以继续调试 ->无济于事
发布于 2014-01-16 13:01:34
这可能是因为第三方库中的本机代码,而且您无法以这种方式捕获本机异常,我在C#中使用C#时也遇到了类似的问题,
您可以在这里找到一些帮助来捕获本机异常(http://msdn.microsoft.com/en-us/magazine/dd419661.aspx)。
相似问题您能在C#代码中捕获本机异常吗?
还尝试从catch语句中删除(Exception ex)。
发布于 2014-01-16 11:24:23
也许您应该在捕获异常时添加某种日志记录。程序关闭的原因是,当抛出异常时,将退出该方法,导致主方法退出。
发布于 2014-01-16 11:53:26
在try catch块中,尝试在catch中添加一些逻辑,例如:
catch(Exception e)
{
MessageBox.Show("Error: " + e.Message, "Exception Thrown", MessageBoxButtons.OK, MessageBoxIcon.Error);
OtherMethod(); //Or something like this
}显然会有更好的方法来解决这个问题,我只是提供一个简单的解决方案。
https://stackoverflow.com/questions/21160149
复制相似问题