是否存在退出程序并显示消息的单行函数调用?我知道在Perl中它就像这样简单:
die("Message goes here")
我已经厌倦了这样写:
puts "Message goes here" exit
yizd12fk1#
abort函数就是这样做的。例如:
abort
abort("Message goes here")
注意:abort消息将写入STDERR,而puts将写入STDOUT。
STDERR
puts
STDOUT
ef1yzkbh2#
如果你想在代码中表示一个实际的错误,你可以抛出一个RuntimeError异常:
RuntimeError
raise RuntimeError, 'Message goes here'
这将打印一个堆栈跟踪、所引发异常的类型以及您提供的消息。根据用户的不同,堆栈跟踪可能太吓人了,实际的消息可能会丢失在噪音中。另一方面,如果你因为一个实际的错误而死,堆栈跟踪将为你提供额外的调试信息。
qq24tv8q3#
我从来没听说过这样的函数,但它将是微不足道的足以实现…
def die(msg) puts msg exit end
然后,如果这是定义在一些.rb文件,你包括在所有的脚本,你是黄金。仅仅因为它不是内置的并不意味着你不能自己做;- )
3条答案
按热度按时间yizd12fk1#
abort
函数就是这样做的。例如:注意:
abort
消息将写入STDERR
,而puts
将写入STDOUT
。ef1yzkbh2#
如果你想在代码中表示一个实际的错误,你可以抛出一个
RuntimeError
异常:这将打印一个堆栈跟踪、所引发异常的类型以及您提供的消息。根据用户的不同,堆栈跟踪可能太吓人了,实际的消息可能会丢失在噪音中。另一方面,如果你因为一个实际的错误而死,堆栈跟踪将为你提供额外的调试信息。
qq24tv8q3#
我从来没听说过这样的函数,但它将是微不足道的足以实现…
然后,如果这是定义在一些.rb文件,你包括在所有的脚本,你是黄金。仅仅因为它不是内置的并不意味着你不能自己做;- )