如何返回值和异常(如果它在那里。)

时间:2014-05-21 07:04:14

标签: java exception

我有帮助类,我已经编写了这个函数。

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.

现在如果在上面的代码中发生错误,我想向用户显示错误。 我的问题是,如果发生一些异常,我将如何取回创建的字符串和错误消息

3 个答案:

答案 0 :(得分:2)

  1. 创建自定义例外

  2. 将您的String值添加为该自定义异常的实例字段。

  3. 使用传入的字符串值抛出自定义异常。

  4. 现在你有了例外和字符串。

答案 1 :(得分:0)

如果你有Java 7,那么你可以使用Multi-Catch exception阻止。

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;
}

答案 2 :(得分:0)

如果发生异常,则永远不会设置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);
}