从多捕获块中抛出异常

时间:2019-07-25 20:37:53

标签: java

类似于Multiple exception catch block java 8 eclipse问题,我有同样的问题。但是,所引用的问题并未真正提供解决方案。

在JAX-RS Web服务中,我正在尝试构建流。在流中,我正在运行查询,并将结果写入流中。

这是我的工作代码:

public StreamingOutput getExportData (int year_mo, String plant, String reqType, String payType) {
    StreamingOutput stream = new StreamingOutput() {

        @Override
        public void write (OutputStream output) throws IOException, WebApplicationException {

            PrintWriter out = new PrintWriter(new OutputStreamWriter(output));

            ...

            try (AdbDao dao = new AdbDao();) {
                ResultSet rs = dao.getExportData(year_mo, plant, reqType, payType);

                ...

               if (rs != null) {
                    while (rs.next()) {
                        ...
                    }
                }
            } catch (JSONException | SQLException e) {
                e.printStackTrace();
                throw e; <-- This is the issue
            }

            output.flush();
            output.close();
        }
    };

    return stream;
}

throw e;生成消息未处理的异常类型SQLException

我需要做些什么才能将异常返回给我的Web应用程序?

1 个答案:

答案 0 :(得分:0)

您需要

  1. 声明您的方法.idea/myproject.iml
  2. .gitignore块进行处理(不要将其扔掉)
  3. 或将其包装在.idea/myproject.iml中,然后抛出该异常-或任何其他适合您需要的异常。