Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;未处理的已检查异常作为引发的异常";在爪哇_Java - Fatal编程技术网

Java &引用;未处理的已检查异常作为引发的异常";在爪哇

Java &引用;未处理的已检查异常作为引发的异常";在爪哇,java,Java,我正在学习SCJP 6学习指南考试第5章\u 310-065,以及异常声明和公共界面一节 “每个方法都必须通过提供catch子句来处理所有已检查的异常,或者将每个未处理的已检查异常列为抛出的异常 例外。” 我们如何将每个未处理的检查异常列为抛出的异常,以及它在代码中的外观如何?谢谢。看起来是这样的: public void foo() throws SomeCheckedException, AnotherCheckedException { // This method would d

我正在学习SCJP 6学习指南考试第5章\u 310-065,以及异常声明和公共界面一节

“每个方法都必须通过提供catch子句来处理所有已检查的异常,或者将每个未处理的已检查异常列为抛出的异常 例外。”

我们如何将每个未处理的检查异常列为抛出的异常,以及它在代码中的外观如何?谢谢。

看起来是这样的:

public void foo() throws SomeCheckedException, AnotherCheckedException
{
    // This method would declare it in *its* throws clause
    methodWhichThrowsSomeCheckedException();

    if (someCondition)
    {
        // This time we're throwing the exception directly
        throw new AnotherCheckedException();
    }
}

有关更多信息,请参阅。

例如,如果您有:

public void doSomething() throws SomeException { 
    ... 
    throw new SomeException();
} 
如果要调用
doSomething
,则必须捕获该异常,或者声明使用该异常的方法也容易引发
SomeException
,从而在调用堆栈中进一步传播该异常:

public void doSomethingElse() throws SomeException { 
    doSomething();
}


考虑到s不是检查异常,因此它们是此规则的异常。

太好了!谢谢各位的解释。
public void doSomethingElse() { 
    try { 
        doSomething();
    }
    catch (SomeException) { 
        // Error handling
    }
}