0

所以我试图创建一个应用程序来打开一个 url。到目前为止,我有以下内容:

package openkaty;

import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 *
 * @author user
 */
public class OpenKaty {

    /**
     * @param args the command line arguments
     */
public static void main(String[] a) {
      public OpenKaty (String baseUrl, String docID) {
            String docURL = baseUrl+docID;

            try {
                URI uri = new URI(docURL);
                Desktop desktop = null;
                if (Desktop.isDesktopSupported()) {
                   desktop = Desktop.getDesktop();
                }

                if (desktop != null)
                {
                    desktop.browse(uri);
                }
            } catch (IOException | URISyntaxException ioe) {
            }   
      }
}

当我声明成员类 openKaty 时,我得到一个非法的表达式开始错误,有人知道该怎么做吗?这将需要由另一个类调用,该类会将参数传递给此类以打开由两部分组成的特定 url。我是一个几乎完全的 Java 新手,所以请注意我很可能有一个非常简单的错误。对不起 ;)

4

1 回答 1

1

这是无效的语法(Java 7 之前)

catch (IOException | URISyntaxException ioe){

您必须分别赶上每个班级:

catch (IOException ioe){
  //handle the exception
} catch (URISyntaxException urise){
  //handle the other exception
}

您的课程也未封闭-您最后缺少一个花括号

此外,您不能在另一个方法中声明一个方法。如果您删除带有public static void main(以便构造函数不在其中)的行,您的代码应该编译。但是,由于您可能需要一个 main 方法(在任何类中),请在下一行之前关闭并实现 main 方法(使用public OpenKaty):

public static void main(String[] a){
  // add your main method code here
} // was missing
public OpenKaty(String baseUrl, String docID){

另请注意,丢弃未知异常绝不是一个好主意(就像您一样)。至少,您始终可以在丢弃之前记录它们。

除此之外,语法对我来说似乎是正确的。

于 2012-10-31T15:20:24.497 回答