抛出异常以及捕获异常?

E.S*_*.S. 4 java exception-handling exception throw

我想知道Java如何采用以下方案

public static void main(String[] args) throws IndexOutOfBoundsException, CoordinateException, MissionException, SQLException, ParserConfigurationException {
    try {
        doSomething();
    } catch (Exception e) {
        e.printStackTrace();
    } 
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我声明了抛出许多不同异常的main函数,但在函数内部,我正在捕获泛型异常.我想知道java内部如何使用它?即,doSomething()抛出一个IndexOutOfBounds异常,e.printStackTrace()会在最后一个catch (Exception e) {...}块中被调用吗?

我知道如果函数的throws区域中没有声明的异常被抛出,try/catch将处理它,但是声明中提到的异常呢?

MaV*_*SCy 5

在你的情况下,如果抛出或生成任何异常doSomething(),它将被捕获在try-catch块中,因为Exception e你正在捕获.

Exception是所有例外的父级.所有异常都继承自此类.

  • +1只有'错误'和其他`Throwable`没有被捕获. (4认同)