编译器错误 CS0156
更新:2007 年 11 月
错误消息
在嵌套在最近的封闭 catch 子句内部的 finally 子句内不允许使用不带参数的 throw 语句
不带参数的 throw 语句只能出现在不带参数的 catch 子句中。
有关更多信息,请参见异常处理语句和异常和异常处理(C# 编程指南)。
下面的示例生成 CS0156:
// CS0156.cs
using System;
namespace MyNamespace
{
public class MyClass2 : Exception
{
}
public class MyClass
{
public static void Main()
{
try
{
throw; // CS0156
}
catch(MyClass2)
{
throw; // this throw is valid
}
}
}
}