当前位置:  开发笔记 > 编程语言 > 正文

你能问ruby把警告视为错误吗?

如何解决《你能问ruby把警告视为错误吗?》经验,为你挑选了1个好方法。

ruby是否允许您将警告视为错误?

我想这样做的一个原因是确保如果heckle删除一行代码意味着发出警告,我可以选择确保突变体被杀死.



1> vladr..:

很遗憾没有真正做到这一点的方法,至少在大多数版本的Ruby上没有(可能存在变化),缺少监视程序输出并在标准错误上出现警告时中止.原因如下:

Ruby定义Kernel.warn,你可以重新定义你想做的任何事情(包括退出),并且你期望(希望)Ruby一致地使用它来报告警告(包括内部例如解析警告),但是

本地实现的方法里面红宝石(C语言)又将直接调用称为本地方法rb_warnsource/server.c,完全绕过你的重新定义Kernel.warn(如" string literal in condition"警告,例如,发出做一些像时:do_something if 'string'通过本机打印rb_warnsource/parse.c)

使事情更糟的是,有一个额外的,rb_warning本地方法,可以通过Ruby的使用,如果记录警告-w-v指定.

因此,如果您需要仅对应用程序代码调用生成的警告采取措施,Kernel.warn只需重新定义即可Kernel.warn.否则,您有两个选择:

    改变source/error.c退出中rb_warnrb_warning(和rb_warn_m?),并重建红宝石

    监视程序的标准错误输出' : warning:',并在匹配时中止它


谢谢.一个权威的答案,如果我看到一个!
推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有