我有代码:
try
{
IUIItem menuItem = menu.Get(SearchCriteria.ByText(criteria));
menuItem.Click();
}
只有在try block部分(无异常)时才会成功。如果省略try块(没有尝试),它会抛出一个execption。对我来说似乎不可能,但这就是它的方式。为什么?
答案 0 :(得分:2)
您需要查找try-catch的定义。当你有一个try-catch时,仍会抛出异常,但是try-catch会处理它,所以你的代码可以继续运行。如果没有try-catch,程序将会中断,因为没有任何东西可以处理它。
答案 1 :(得分:0)
如果没有catch语句,此代码将无法编译。如果你是有:
try
{
IUIItem menuItem = menu.Get(SearchCriteria.ByText(criteria));
menuItem.Click();
}
catch (Exception ex)
{
}
代码将编译并抛出一个被捕获的异常,但没有任何操作,所以你不会注意到任何事情。
如果你添加:
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw ex;
}
您将异常消息写入控制台,然后重新抛出(转发)异常。