finish()函数中的Java UDF失败
我试图覆盖UDF的finish()方法,在该方法中,我检查两个实例变量的除法是否超过某个阈值finish()函数中的Java UDF失败,java,apache-pig,Java,Apache Pig,我试图覆盖UDF的finish()方法,在该方法中,我检查两个实例变量的除法是否超过某个阈值 public void finish() { if (errors / total > threshold) { throw new IOException("QA failed"). } } 我的IDE一直希望我用try/catch块来包围它。我如何实现在UDF中失败的最初目标?我认为非法状态异常或IOError可能更适合您的需要,因为它们是未检查的异常,可能比
public void finish() {
if (errors / total > threshold) {
throw new IOException("QA failed").
}
}
我的IDE一直希望我用try/catch块来包围它。我如何实现在UDF中失败的最初目标?我认为
非法状态异常
或IOError
可能更适合您的需要,因为它们是未检查的异常,可能比其他未检查的异常更接近您的IOException
未经检查的异常,例如RuntimeException
、Error
及其子类(IllegalStateException
和IOError
包括在内),不需要throws子句,并且会使代码编译
如果需要,可以将您的IOException
封装在上面的一个函数中(使用接受Throwable
的构造函数),然后使用Throwable.getCause()检索它