gpt4 book ai didi

c# - 'System.ComponentModel.Win32Exception : The operation completed successfully' while debugging unit test

转载 作者:行者123 更新时间:2023-11-30 12:38:11 24 4
gpt4 key购买 nike

我的类(class)有 descstructor,我正在对析构函数启动 cmd 进程。我在调试单元测试时遇到了这个异常。我的类(class):

class Class1
{
~Class1()
{
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.Start();
}
}

我的单元测试:

 [TestMethod]
public void TestMethod1()
{
Class1 class1 = new Class1();
}

当我在 Debug模式下运行项目时也没有异常。如何解决这个问题?有人遇到过这样的问题吗?

最佳答案

在测试周围放置一个 try catch block 。

[TestMethod]
public void TestMethod1()
{
try
{
Class1 class1 = new Class1();
class1 = null;
// force Garbage Collection for finalizer to run
GC.Collect();
}

catch(Win32Exception w)
{
Console.WriteLine(w.Message);
Console.WriteLine(w.ErrorCode.ToString());
Console.WriteLine(w.NativeErrorCode.ToString());
Console.WriteLine(w.StackTrace);
Console.WriteLine(w.Source);
Exception e=w.GetBaseException();
Console.WriteLine(e.Message);
}
}

这将为您提供所产生的确切错误消息。


这可能就像未设置路径一样简单。如果是这样的话。返回的错误将是 找不到文件。在这种情况下,可以通过将 "cmd.exe" 更改为 @"C:\windows\system32\cmd.exe"

来解决

关于c# - 'System.ComponentModel.Win32Exception : The operation completed successfully' while debugging unit test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54996182/

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