为什么这个程序抛出编译时错误,即使我声明了扩展Exception类的Ari类。它给我输出像“未报告的异常Ari;必须被捕获或声明被抛出”。
class Ari extends Exception{ }
public class Main
{
public static void main(String [] args)
{
try
{
badMethod();
System.out.print("A");
}
catch (Exception ex)
{
System.out.print("B");
}
finally
{
System.out.print("C ");
}
System.out.print("D");
}
public static void badMethod()
{
throw new Ari(); /* Line 22 */
}
}
答案 0 :(得分:1)
这看起来像Java,它使用"检查异常"。由于您的方法可能会抛出Ari
异常(实际上, 保证),方法签名必须声明:
public static void badMethod() throws Ari {
throw new Ari();
}
这建议使用代码来解释此特定异常的可能性,以便可以编写它来处理该异常。