我有一个辅助类,我在其中编写了这个函数。
public static String createProject(Map<String, String> params,String projectName, String projectPrefix) {
String createdProject = null;
try {
createdProject=//logic for creating createdProject string which may throw two exception mentioned below
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (TestLinkAPIException t) {
t.printStackTrace();
}
return createdProject;
}
现在我从GUI部分调用这个函数,我已经写了
String createProject=//called above function.
如果上面的代码中出现错误,我想向用户显示错误。我的问题是我如何得到返回创建的字符串和错误消息,如果一些异常发生
-
创建自定义异常
-
添加String值作为自定义异常的实例字段
-
抛出带有传入String值的自定义异常
现在你有了异常和字符串
如果你有Java 7,那么你可以使用Multi-Catch异常块。
public static String createProject(Map<String, String> params,String projectName, String projectPrefix) throws Exception {
String createdProject = null;
try {
createdProject=//logic for creating createdProject string which may throw two exception mentioned below
} catch (MalformedURLException | TestLinkAPIException e) {
e.printStackTrace();
throw new Exception("Error creating createdProject", e);
}
return createdProject;
}
如果发生异常,则永远不会设置createdProject。
你应该从这个方法中抛出异常,并在调用这个方法的块中捕获它。
public static String createProject(Map<String, String> params,String projectName, String projectPrefix) throws Exception {
String createdProject = null;
try {
createdProject = doSomething();
} catch (Exception e) {
throw new Exception("Error creating Project");
}
return createdProject;
}
在你调用这个方法的地方你会得到这样的东西
try {
String str = createProject();
displayTheProjectCreated(str);
} catch (Exception e) {
// Oops something went wrong
displayErrorMessage(e);
}