0

在我的 grails 应用程序中,我有一个InvalidTokenException如下自定义:

class InvalidTokenException extends Exception{  

  public InvalidTokenException() {}

  public InvalidTokenException(String message)
  {
    super(message);
  }  
}

我在我的服务中投入如下:

throw new InvalidTokenException("Invalid token : '${word}'")

我在我的控制器中捕获并呈现给客户端,如下所示:

catch(e)
    {
        //send the exception to the client for rendering an error message.
        render(status: 400, text: e)
        return false //stops further execution
    }

虽然我想去掉它只包含文本“Invalid token : word”而不是“Exception uk.co.litecollab.exceptions.InvalidTokenException Invalid token : word”的消息

任何想法如何做到这一点?

4

1 回答 1

1

将其更改为,render(status: 400, text: e.message)因为您当前正在利用自动转换为e调用该toString()方法的字符串。一般来说,直接调用getMessage()更有意义,并且可以满足您的需要。

于 2013-04-28T14:40:51.340 回答