CS0156 de erro do compilador
Mensagem de erro
demonstrativo throw sem argumentos não é permitida em um finalmente cláusula que está aninhada dentro do delimitador mais próximo catch cláusula
A throw demonstrativo sem parâmetros só pode aparecer em um catch cláusula sem parâmetros.
Para obter mais informações, consulte Instruções de manipulação de exceção and Exceções e manipulação de exceção (guia de programação C#).
O exemplo a seguir gera 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
}
}
}
}