我正在尝试在链接到我的Github的应用程序中添加一个“about”窗口的链接。我有点知道这个过程,然而,它看起来很复杂,我必须把所有的错误捕获。我确定URI语法是正确的,有没有办法跳过这个问题?这个变量保持最终,除非资源位置的语法发生变化,否则它应该没问题
代码:
//TODO: Simplify?
String gitLocation = "https://github.com/DanubeRS";
try {
final URI gitUri = new URI(gitLocation);
//Add the github button action (link to site)
githubButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Desktop.getDesktop().browse(gitUri.resolve(gitUri)); //Try to open URL
} catch (IOException e1) {
//URI unresolvable
e1.printStackTrace();
}
}
});
} catch (URISyntaxException e) {
e.printStackTrace();
}
答案 0 :(得分:4)
您可以使用方便方法URI.create(String str),其中URISyntaxException
包含IllegalArgumentException
。来自JavaDoc:
提供此方法用于已知的情况 给定的字符串是合法的URI,例如URI常量 在程序中声明,因此它将被视为a 字符串编程错误,不能解析。该 应该使用直接抛出URISyntaxException的构造函数 从用户输入或从中构造URI的情况 其他一些可能容易出错的来源。
IOException
引发的Desktop.browse()
表示没有设置默认浏览器。您应该通过通知用户来优雅地处理它。