Grails错误处理程序始终接收空指针

时间:2011-07-21 13:41:47

标签: exception grails groovy error-handling

我们有一个自定义错误控制器,在我们遇到所有错误后调用它。但是,我们抛出的大多数错误最终作为空指针进入控制器,即使原始错误不是空指针。有任何想法吗?代码如下。如果需要,可以使用Bootstrap和UrlMappings。感谢

错误处理程序方法

def HandleErrors =
{

    def exception = request.exception.cause.class  

    if (exception) 
    { 
        Exception ex = request.exception  //This exception is always a NPE
            ...

抛出异常的代码块。我原本在这里没有尝试捕获,但是想添加它以便我确定被抛出的异常不是NPE。它找不到文件异常。

try{
        def writer = new FileWriter( new File(fileSaveLocation));
    } 
    catch ( ex)
    {
        throw(ex)
    }

编辑:添加推送到异常处理程序的异常

Exception:org.codehaus.groovy.grails.web.errors.GrailsWrappedRuntimeException
Cause:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException

1 个答案:

答案 0 :(得分:1)

这不是因为你在错误处理程序中引用了一些null,因此无意中抛出了另一个异常,这又被捕获了吗?

你可以尝试改变:

def exception = request.exception.cause.class  

def exception = request?.exception?.cause?.class