3

SCJP 6 スタディ ガイド Exam_310-065 の第 5 章と、セクションException Declaration and the Public Interfaceを学習しています。

「各メソッドは、catch 句を指定してすべてのチェック済み例外を処理するか、未処理の各チェック済み例外をスローされた例外としてリストする必要があります。」

処理されていないチェック済みの各例外をスローされた例外としてどのようにリストし、コードでどのように表示するのでしょうか? ありがとう。

4

2 に答える 2

5

次のようになります。

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();
    }
}

詳細については、JLS のセクション 8.4.6 を参照してください。

于 2012-06-19T16:57:34.277 に答える
2

たとえば、次の場合:

public void doSomething() throws SomeException { 
    ... 
    throw new SomeException();
} 

を呼び出したい場合は、例外を発生doSomethingさせるかcatch、それを使用するメソッドをスローの影響を受けやすいものとして宣言する必要があるSomeExceptionため、呼び出しスタックでさらに伝播します。

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

または

public void doSomethingElse() { 
    try { 
        doSomething();
    }
    catch (SomeException) { 
        // Error handling
    }
}

RuntimeExceptions はチェック例外ではないため、この規則の例外であることを考慮してください。

于 2012-06-19T16:59:48.177 に答える