Java 如何返回值和异常(如果存在)
我有一个助手类,我在其中编写了这个函数Java 如何返回值和异常(如果存在),java,exception,Java,Exception,我有一个助手类,我在其中编写了这个函数 public static String createProject(Map<String, String> params,String projectName, String projectPrefix) { String createdProject = null; try { createdProject=//logic for creating createdProject st
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;
}
现在,如果上述代码中出现错误,我想向用户显示错误。
我的问题是,如果出现一些异常,如何返回创建的字符串和错误消息
现在您有了异常和字符串。如果您有Java 7,那么您可以使用block
publicstaticstringcreateproject(映射参数、stringprojectname、stringprojectprefix)引发异常{
字符串createdProject=null;
试一试{
createdProject=//用于创建createdProject字符串的逻辑,该字符串可能引发下面提到的两个异常
}捕获(格式错误的异常| TestLinkApie异常){
e、 printStackTrace();
抛出新异常(“创建createdProject时出错”,e);
}
返回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;
}
“错误消息”的含义是什么?假设发生了一些异常,我想向无法像这样连接的用户显示,但如果没有任何异常发生,我想获得成功创建的字符串值。如果在创建
createdProject
时出现异常,您将如何发送该值。无论如何,它将是null
。如果成功创建了createdProject
,则不会出现任何异常,该值将正常返回。我真的不知道在异常情况下如何返回值。是RJ,如果发生异常,我看到用户返回空值,如您所说。字符串值已成功执行,请尝试返回createdProject的块;如何获取此消息请帮助亲爱的@abimaran假设发生了一些异常..我将获取空值..因此在这种情况下,我希望使用一些消息如果没有异常,您可以按原样传递字符串值。否则,在自定义异常中添加字符串消息并将其抛出给调用者。it java 6..在这种情况下我该怎么办?为什么不能?使用新的语言功能来解决您的问题?OP很可能不幸处于不允许升级的情况。一些企业仍然使用Java 5/6…@user3580294它与OP有什么关系?如果一些企业使用1.4,但代码无法编译。因为这可能就是OP无法升级的原因?
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;
}
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);
}