【发布时间】:2013-11-14 20:28:52
【问题描述】:
在我的 Grails 服务中,我有如下代码:
def createCharge(chargeParams) {
try {
def charge = Charge.create(chargeParams)
} catch (CardException e) {
throw e
}
}
从我的控制器我执行以下操作:
try {
service.createCharge(chargeParams)
} catch(CardException e) {
}
但是,我的控制器没有捕捉到 CardException 的重新抛出。如果我通过以下方式将 CardException 包装在 RuntimeException 中:
throw new RuntimeException(e)
和/或从捕获中删除签名以仅捕获(e)而不键入它,它可以工作,但是我从异常中丢失了一些信息,例如消息。
请注意,CardException 是 Exception,而不是 RuntimeException。我不确定这是否重要。
【问题讨论】:
标签: exception grails stripe-payments