如何在耗时超过30秒的servlet中捕获此异常?
谢谢!
答案 0 :(得分:3)
您可以在代码周围使用普通的try-catch并捕获DeadlineExceededException:
import com.google.apphosting.api.DeadlineExceededException
try {
// your code
} catch (DeadlineExceededException e) {
// do something here to handle the exception in a user-friendly way
}
请记住,捕获DeadlineExceededException后您的时间有限。因此,您无法在catch中执行大量代码,因为它会在短时间内(通常<1秒)生成HardDeadlineExceededError。
因此,明智地使用它,只需向用户返回一条消息,或者在必要时进行快速清理以回滚任何内容。