在Rails中。
异常可以在控制器类中进行抢救,但在模型类中不能。
如何在模型中拯救异常?
答案 0 :(得分:12)
你可以在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!"
代码中的任何位置,无论是模型还是控制器。
答案 1 :(得分:1)
除非我弄错了,否则你可以在Ruby的任何地方使用错误处理。你想做什么?