两个或更多'try/catch'语句可以在C#中共享一个'finally'语句吗?我试图遵循同事的代码,这是非常草率和不可执行的.
例:
try
{
Function1()
}
catch { }
try
{
Function2();
}
catch { }
try
{
Function3();
}
catch { }
finally
{
EndFunction();
}
Run Code Online (Sandbox Code Playgroud) 这个类似的问题给出了解决方案,为了检查C#中作业的状态,您必须运行sp_help_job.问题是当我在SQL中尝试查询时,我从SQL Server收到错误"无法找到存储过程'sp_help_job'.
我尝试在MSS 2008中运行此SQL代码:
exec sp_help_job
Run Code Online (Sandbox Code Playgroud)
有人可以发布确切的查询来找出我刚刚运行的工作的状态吗?
我试图在我的Microsoft Visual Studio 2010中实现AssemblyInitialize/AssemblyCleanup属性,其目的与此处所述的完全相同.该链接甚至描述了我需要遵循的实现代码的过程.
这个目的的快速摘要是创建一个初始代码块,它将在任何测试之前运行,无论我在解决方案中运行哪个codedUITests,然后是在最后一个codedUITest完成之后运行的代码块.示例:我需要打开一个特定的应用程序,然后运行一系列的encodeUITests,它们都从该应用程序开始,以任何顺序执行,然后在一切完成后关闭应用程序; 这比为每个codedUITest打开/关闭应用程序更有效.
我不明白的是我需要将代码放在该页面底部(也在下面显示).我把所有代码都放在我的'公共部分类UIMap'之下并且代码运行,除了它在每个CodedUITest之前/之后运行'OpenApplication'和'CloseApplication'命令,而不是将整个CodedUITests组合在一起.
如何正确实现代码?
更新:
我昨晚发现了AssemblyI/C,我花了3个小时试图找出放置代码的位置,以便它可以工作.如果我将AssemblyInitialize放在特定测试方法的开头,那么:
1)它仍然无法运行 - 它给了我一些错误,说UIMap.OpenWindow()和UIMap.CloseWindow()方法需要是静态的,我无法弄清楚如何使它们静态.
2)具有AssemblyI/C的特定[TestMethod]是否需要在测试集中?在我的情况下,我有十几个CodedUITests需要单独运行或在更大的组中运行,我需要让AssemblyI/C打开/关闭我正在测试的窗口.