在Rails中.
异常可以在控制器类中进行抢救,但在模型类中则不能.
如何在模型中拯救异常?
你可以在rails应用程序的任何地方进行异常处理,因为它是Ruby的一部分,而不是Rails的一部分.无论您想要捕获哪些错误,只需将其包装为:
begin SomethingElse.doSomething(x, y) rescue Exception ErrorLogger.log(Time.now, "Something went wrong!") end
请注意,您应始终"拯救异常"而不是"救援".只使用"rescue"只会捕获StandardError,它是Exception的子类(意味着可能会通过您不希望通过的内容).
与往常一样,您可以通过执行以下操作来引发异常:
raise ArgumentError, "Illegal arguments!"
代码中的任何位置,无论是模型还是控制器.