0

try&catchステートメントを作成しましたが、報告されていないIOExceptionエラーが発生します。

このアプレットはphpscriptを呼び出そうとします。そのため、ボタンがクリックされたときにURLを読み取る必要があります。

私はJavaの初心者です。何が悪いのか説明してもらえますか

エラー44:IO例外をキャッチするか、スローするように宣言する必要があります

URLConnection myURLConnection = myURL.openConnection();

エラー46:IO例外をキャッチするか、スローするように宣言する必要があります

myURLConnection.connect();

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

public class RegisterUser extends Applet{


 //Applet components
TextField panel1 = new TextField(10);
TextField panel2 = new TextField(10);
TextField panel3 = new TextField(10);
Button    save   = new Button("Save");



public void init(){
   //There is two text fields and a button
    add(panel1);
    add(new Label("Name:"));
    addNewLine();
    add(panel2);
    add(new Label("Last:"));
    addNewLine();
    add(save);
    addNewLine();

    // Now tell the button  what it should do when it clicked

   save.addActionListener(new SaveListener());
  }

  class SaveListener implements ActionListener{

public void actionPerformed(ActionEvent event) {

                    try
          {

          URL myURL = new URL("http://www.myplace.com/save.php?name="+panel1.getText()+"&last_name="+panel2.getText()+"&email="+panel3.getText());

          URLConnection myURLConnection = myURL.openConnection();

          myURLConnection.connect();

          }

          }
          catch (MalformedURLException e){
          System.out.println(e.getMessage());
         }
    }
      }


      private void addHorizontalLine(Color c)
   {
   // Add a Canvas 10000 pixels wide but only 1 pixel high, which acts as
   // a horizontal line to separate one group of components from the next.
   Canvas line = new Canvas( );
  line.setSize(10000,1);
  line.setBackground(c);
  add(line);
  }


  private void addNewLine( )
 {
   // Add a horizontal line in the background color. The line itself is
   // invisible, but it serves to force the next Component onto a new line.
   addHorizontalLine(getBackground( ));
}

}

4

2 に答える 2

2

IOExceptionこのようにチェックをキャッチする必要があります

catch (IOException exc) {
  // handle exception
}

あなたtry catchはそれだけを捕まえるMalformedURLExceptionので、コンパイルエラーが発生します。

于 2012-10-23T11:07:48.937 に答える
1

-block}の後にあるものが多すぎるようです。try

そして、あなたもキャッチする必要がありますIOException

このように書いてください:

      try{
        URL myURL = new URL("http://www.myplace.com/save.php?name="+panel1.getText()+"&last_name="+panel2.getText()+"&email="+panel3.getText());
        URLConnection myURLConnection = myURL.openConnection();
        myURLConnection.connect();
      }catch (MalformedURLException e){
        System.out.println(e.getMessage());
      }catch (IOException e2){
        System.out.println(e2.getMessage());
      }
于 2012-10-23T11:19:44.600 に答える