2
当我尝试在控制器方法中捕获异常时,我无法捕获到SocketException。控制器的动作看起来像:Grails控制器 - 无法捕获SocketException
def updateDeviceStartV1() {
try {
...
response.status = 200;
response.setContentType("application/octet-stream")
response.outputStream << responseService.encryptedResponse // byte[]
}
catch(Exception e) {
log.error "Server faced unexpected exception", e
response.status = 500;
...
}
的SocketException是以线“response.outputStream < < responseService.encryptedResponse”抛出,因为客户端意外关闭连接。尽管如此,这个例外是没有捕捉到和控制台收到标准例外显示...
我做错了什么?
但是,您的回答给了我更深入的Groovy异常魔法的理解:-)谢谢 – kuceram
我很高兴=)。但是'catch(all)'绝对应该捕捉到来自更深层的任何异常。如果在catch块中打印异常的类会发生什么? –
这是工作,我看上去很糟糕。对不起:-) – kuceram