gpt4 book ai didi

ruby - 如何使用 Thor 在 ruby​​ 终端上抑制而不打印异常的回溯?

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:29 24 4
gpt4 key购买 nike

以下是我可能引发异常的方法。

这也是我正在构建的 CLI 方法。

每当异常发生时,我都想捕获它并在终端上打印我的自定义消息。

# variation 1
def self.validate(yaml_path)
begin
....
....
rescue
puts "Error"
end
end

# variation 2
def self.validate(yaml_path)
begin
....
....
rescue Exceptino => e
puts "Error: #{e.message}"
end
end

但是回溯会打印在终端上。

如何避免回溯被打印?

± ../../bin/cf site create                                                                                                                                                                          

ruby-1.8.7-p352
Error during processing: syntax error on line 52, col 10: ` - label: Price'
/Users/millisami/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 52, col 10: ` - label: Price' (ArgumentError)
.... backtrace .....
.............

最佳答案

答案是在 bin/<exe> 的可执行文件中拯救它. Thanks for suggesting

begin
Cf::CLI.start
rescue Psych::SyntaxError
$stderr.puts "\n\tError during processing: #{$!.message}\n\n"
end

关于ruby - 如何使用 Thor 在 ruby​​ 终端上抑制而不打印异常的回溯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7166479/

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