13

Java のスキルがなくて申し訳ありませんが、私は通常 C のような人です. Android の開発を始めており、単純に GET リクエストを行いたいと思っています。ただし、単純な URL タイプを正しくコンパイルすることさえできません。このエラーが発生し続けます:

HelloWorld.java:17: error: unreported exception MalformedURLException; must be caught or declared to be thrown
 URL url = new URL("http://www.google.com/");
 ^
1 error

この単純なコードを実行すると:

 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.io.Writer;
 import java.net.HttpURLConnection;
 import java.net.ProtocolException;
 import java.net.URL;
 import java.net.URLConnection;

public class HelloWorld{

     public static void main(String []args){
        URL url = new URL("http://www.google.com/");

        System.out.println(url.toString());
     }
}

ここで何が間違っていますか?

4

4 に答える 4

24

すべてのチェック済み例外について、コードでそれらを処理することが必須になります。これを行うには2つの方法があります。

throws一般に、句を使用して宣言メソッドの呼び出し元に例外処理を渡すことができます。または、try-catch[-finally]構造体を使用してそれらを処理することもできます。

あなたの場合、次のようにメソッドにthrows句を追加する必要がありますmain()

public static void main(String []args) throws MalformedURLException{

try-catchまたは、次のように URL 宣言をブロックで囲む必要があります。

try{
    URL url = new URL("http://www.google.com/");
    //more code goes here
}catch(MalformedURLException ex){
//do exception handling here
}
于 2013-07-18T20:23:40.233 に答える
6

Java では、例外を処理する必要があります。このようなサンプル プログラムでこれを行う最も簡単な方法は、main()throw を宣言することです。

public static void main(String []args) throws Exception {

学習に取り掛かり、後で例外処理の問題に対処してください。

于 2013-07-18T20:24:20.147 に答える
1

URL のコンストラクターは、例外をスローする可能性があることを宣言しているため、例外をキャッチするかスローバックする必要があります


見る

于 2013-07-18T20:23:26.267 に答える