26

作成中の Android アプリで http POST リクエストを作成しようとしていますが、リクエストに使用する URL に関係なく、Eclipse は不正な URL 例外を発生させ続けます。Androidチュートリアルの1つからコード行を試しました:

URL url = new URL("https://wikipedia.org");

それでもエラーが発生します。作成しようとしている URL に対して Eclipse がこのエラーを出し続ける理由はありますか?

4

1 に答える 1

67

この場合の URL は不正な形式ではないため、例外は発生しません。(Java の設計者は、この「チェック済み例外」という概念は良い考えだと考えていましたが、実際にはうまく機能していませんでした。 )

throws MalformedURLExceptionそれを止めるには、 、またはそのスーパークラスthrows IOExceptionをメソッド宣言に追加します。例えば:

public void myMethod() throws IOException {
    URL url = new URL("https://wikipedia.org/");
    ...
}

または、厄介な例外をキャッチして、チェックされていない例外として再スローします。

public void myMethod() {
    try {
        URL url = new URL("https://wikipedia.org/");
        ...
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

Java 8 では、他の方法では処理できない場合に sUncheckedIOExceptionを再スローするためのクラスが追加されました。IOException以前の Java バージョンでは、RuntimeException.

于 2014-06-25T21:08:30.917 に答える