是语法错误还是编译错误?
using System;
namespace AAA
{
class MyException : Exception{
}
class My2Exception : MyException{
}
class MainClass
{
public static void Main (string[] args)
{
try{
throw new MyException();
}
catch(Exception e){ // compiler says that this catch all exception occur error? Is it syntax error?
}
catch(MyException m){ // Syntax error
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是语法错误吗?这个错误语法错误了吗?谢谢
由于catch类型的块Exception是可能的最不具体的异常处理程序,因此提供更具体的catch块的需求不仅是多余的,而且在C#中它是编译时错误.因此,在多捕获块中,您应始终catch最后指定最通用的块:
using System;
namespace AAA
{
class MyException : Exception
{
}
class MainClass
{
public static void Main (string[] args)
{
try
{
throw new MyException();
}
catch (MyException m)
{
//TODO: something
}
catch (Exception e)
{
//TODO: something
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
535 次 |
| 最近记录: |