我在try
块中打开了一个excel文件。
然后在catch
块中,只要excel应用程序有任何异常,我就会发出一个语句来关闭该excel文件。我甚至试过了finally
,但它也没有用。
似乎有一条错误消息指出变量在当前上下文中不存在。
异常发生时,如何关闭excel?
答案 0 :(得分:2)
我在try块中打开一个excel文件。
在try
阻止之前立即打开excel文件。这将允许它在catch
部分的范围内。如果您打算一直关闭它,只需将逻辑放在finally
块中,因为无论异常是否发生都会发生。
// Open file..
try
{
// use file
}
finally
{
// close here
}
答案 1 :(得分:0)
根据你的陈述,我相信你的问题是:
try
{
// Do Stuff.
}
catch
{
// Close my connection.
}
该方法无效,原因是除非发生错误,catch
才会实际实现。因此,您需要在代码的try
部分try catch
或之外发布结束语。
但是您应该发布代码,因为您的答案将根据您的结构,实现和代码的整体流程而有所不同。您将考虑C#具有自动垃圾收集和其他几个变量。
您可能想要将其视为:
value = 3;
if (value == 0)
{
value = 1;
}
else if (value == 1)
{
value = 1;
}
else
{
value = 5;
}
value
将等于5,原因是因为value
不符合其他范围。所以它将落在else
括号中。同样适用于try catch
。除非catch
被异常触发,否则您的代码将永远不会进入该特定代码块的范围。