gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中包含自定义异常?

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:16 26 4
gpt4 key购买 nike

我不太明白 Rails 如何包含(或不包含?)app 目录中的某些文件。

例如,我创建了一个新目录 app/exceptions 用于创建我自己的异常。现在,我想从帮助文件中提出我的一个异常(exception)。

我应该在这个助手中包含一些东西吗?

助手:helpers/communications_helper.rb

//should I include something or it's suppose to be autoloaded?
module CommunicationsHelper
begin.
.
.
.
raise ParamsException, "My exception is lauch!"
rescue StandardError => e
...
end
end

异常:exceptions/params_exception.rb

class ParamsException < StandardError
def initialize(object, operation)
puts "Dans paramsException"
end

end

输出中没有我加注的具体内容...

谢谢!

编辑:感谢所有人,您的两个答案以不同的方式提供了帮助。我没有像你说的那样很好地提出异常,但我也忘记更新我的 config.rb。 所以现在我已经:

rescue StandardError => e
raise ParamsError.new("truc", "truc")

另一个问题,你知道我在哪里可以加薪吗?因为我已经陷入困境,所以我有点迷路......

最佳答案

如果您没有看到 raise 的输出,请确保您不是无意中挽救错误,因为您的错误是 StandardError 的子类:

begin
raise ParamsException, "My exception is lauch!"
rescue StandardError => e # This also rescues ParamsException
end

作为旁注,在 Ruby 中,通常的做法是让您的自定义错误以 Error 而不是 Exception 结尾。与其他一些编程语言不同,以 Exception 结尾的类用于系统级错误。

关于ruby-on-rails - 如何在 Rails 中包含自定义异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27581130/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com