使用英语阅读

通过


编译器错误 CS0156

无参数的 throw 语句不允许在 catch 子句之外使用

不带参数的 throw 语句只能出现在不带任何参数的 catch 子句中。

有关详细信息,请参阅异常和异常处理

下面的示例生成 CS0156:

C#
// 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  
         }  
      }  
   }  
}