【问题标题】:Java getting unreported exceptionJava得到未报告的异常
【发布时间】:2016-10-13 09:34:08
【问题描述】:
    public void createDirectory(String path) {
        try {
            shellSupport.executeCommand("hadoop fs -mkdir "+path);
            logger.info("Directory "+path+" created successfully");
        } catch(Exception exc) {
            throw exc;
        }
    }

错误

错误:未报告的异常Exception;必须被抓住或宣布 被扔掉

如果我删除 try catch 然后代码编译并且记录器显示消息但没有创建目录。

【问题讨论】:

  • 你实际导入了什么Exception类?
  • java.lang.Exception

标签: java hadoop exception exception-handling


【解决方案1】:

如果你想抛出一个异常,你必须在你的方法签名中声明它。在你的情况下,那将是

public void createDirectory(String path) throws Exception

或者你可以不扔就抓住它

try {
    shellSupport.executeCommand("hadoop fs -mkdir "+path);
    logger.info("Directory "+path+" created successfully");
} catch(Exception exc) {
    exc.printStackTrace();
    // handle your exception
}

【讨论】:

    【解决方案2】:

    添加还不够:

    public void createDirectory(String path) throws Exception {
        try {
            shellSupport.executeCommand("hadoop fs -mkdir "+path);
            logger.info("Directory "+path+" created successfully");
        } catch(Exception exc) {
            throw exc;
        }
    }
    

    即:public void createDirectory(String path) throws Exception 到你的方法?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      相关资源
      最近更新 更多