ruby – 如何解决某个命名空间下的所有异常?
发布时间:2020-12-16 20:14:26 所属栏目:百科 来源:网络整理
导读:有没有办法拯救某个命名空间下的所有异常? 例如,我想拯救所有的Errno :: *异常(Errno :: ECONNRESET,Errno :: ETIMEDOUT).我可以继续在我的异常行上列出所有的东西,但是我想知道我是否可以做某事. begin # my coderescue Errno # handle exceptionend 上面
有没有办法拯救某个命名空间下的所有异常?
例如,我想拯救所有的Errno :: *异常(Errno :: ECONNRESET,Errno :: ETIMEDOUT).我可以继续在我的异常行上列出所有的东西,但是我想知道我是否可以做某事. begin # my code rescue Errno # handle exception end 上面的想法似乎不起作用,因此有什么类似的可以工作吗? 解决方法
所有
Errno exceptions subclass SystemCallError :
所以你可以捕获SystemCallError,然后做一个简单的名字检查: rescue SystemCallError => e raise e if(e.class.name.start_with?('Errno::')) # do your thing... end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |