我在完成Try and Catch時遇到問題。我不斷收到一個語法錯誤,要求提供「(」「{」「;」)令牌,不需要這些令牌。搜索整個答案,我還沒有得出結論,爲什麼我一直得到這個錯誤。是我的代碼Try&Catch中的語法錯誤
import javax.swing.JOptionPane;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.MenuBar;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebHistory;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class Browser extends Application{
final Button Back = new Button("<-");
final Button Forward = new Button ("->");
final Button Home = new Button("Home");
final Button Reload = new Button("r");
final MenuBar menuBar = new MenuBar();
final TextField txt = new TextField();
@Override
public void start(Stage stage) throws Exception{
VBox hBox = new VBox();
WebView wv = new WebView();
WebEngine engine = wv.getEngine();
WebHistory wh = engine.getHistory();
engine.load("https://www.google.com");
txt.setOnAction(new EventHandler<ActionEvent>(){
try{
public void handle(ActionEvent event){
engine.load(txt.getText());
}
}catch(Exception e){
showError("Unable to load site");
}
});
hBox.getChildren().setAll(txt, wv);
Scene scene = new Scene(hBox, 800, 600);
stage.setTitle("Anthony Gayflor-CS260 OOP");
stage.setScene(scene);
stage.show();
}
private void showError(String errorMessage){
JOptionPane.showMessageDialog(this, errorMessage, "Error", JOptionPane.ERROR_MESSAGE);
}
public static void main(String[] args){
Application.launch(args);
}
}
當我編譯它,我得到的錯誤是
Caused by: java.lang.Error: Unresolved compilation problems:
Syntax error, insert "}" to complete ClassBody
Syntax error, insert ")" to complete MethodInvocation
Syntax error, insert ";" to complete Statement
Syntax error on token "(", ; expected
Syntax error on token ")", ; expected
Syntax error on tokens, delete these tokens
at Browser.start(Browser.java:33)
你不能在try-catch塊中包裝一個方法。 – Eran
有try-catch裏面> public void handle(ActionEvent event) – vvtx
我想你是對的哈哈 –