提问人:Timur Shtatland 提问时间:5/25/2023 最后编辑:Timur Shtatland 更新时间:5/26/2023 访问量:59
编写一个简单、干净的错误消息,没有回溯,并在失败时退出 [已关闭]
Write a simple, clean error message without a backtrace and exit on failure [closed]
问:
我想在失败时为用户写一条干净、简单的错误消息,没有(详细的)回溯,然后以失败状态退出。我目前正在使用在我调用的代码的各个部分引发异常。我正在使用块,它包装了整个调用方代码,如以下简化示例所示:STDOUT
STDERR
raise
begin ... rescue
abort
#!/usr/bin/env ruby
def bar
is_input_valid = false # in the actual code, this is more complex and can be true/false
if not is_input_valid
raise "Input is not valid"
end
# ... more code ...
is_ok_foo = false # in the actual code, this is more complex and can be true/false
if not is_ok_foo
raise "Foo is not ok"
end
end
begin
bar
rescue StandardError => e
abort e.message
end
现实生活中的示例具有更详细的回溯,以及多个语句,用于处理带有自定义消息的不同故障模式。raise
这是处理异常并仅打印错误消息并以失败状态退出的首选(例如,最可维护的)方法吗?
例如,另一种选择是在代码中使用而不是,并且不使用块。abort
raise
begin ... rescue
另请参阅:
答: 暂无答案
评论