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