CS0160 de erro do compilador
Mensagem de erro
Cláusula catch anterior já captura todas as exceções desta ou de um tipo super ('tipo')
Uma série de catch instruções precisa estar em ordem de derivação decrescente.Por exemplo, os objetos mais derivados devem aparecer primeiro.
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 CS0160:
// CS0160.cs
public class MyClass2 : System.Exception {}
public class MyClass
{
public static void Main()
{
try {}
catch(System.Exception) {} // Second-most derived; should be second catch
catch(MyClass2) {} // CS0160 Most derived; should be first catch
}
}