为了账号安全,请及时绑定邮箱和手机立即绑定

使用反射调用带有 nil 参数的函数会导致“使用零值参数调用”恐慌

使用反射调用带有 nil 参数的函数会导致“使用零值参数调用”恐慌

Go
SMILET 2021-08-23 15:54:07
我正在尝试测试一个接受“错误”类型参数的函数。该功能在某些情况下应该会恐慌,我正在尝试测试场景。但是,当我尝试使用reflect.Call一个nil值(它可以传递到一个接受“错误”类型的函数中)时,它似乎会导致出现以下消息的恐慌:reflect: Call using zero Value argument我找到了以下帖子,但我未能将其集成到我的功能中。https://groups.google.com/forum/#!topic/golang-nuts/apNcACpl_fIhttps://groups.google.com/forum/#!topic/golang-nuts/WOUft8EZQ1I相关围棋游乐场:http : //play.golang.org/p/cYQMQ6amPH在上面的操场上,我希望调用InvocationCausedPanic(PanicOnErr, nil)return false,但是,上述来自反射的恐慌导致误报。我可以对InvocationCausedPanic或invoke函数进行任何修改以使其工作(同时保留测试其他不能nil作为参数接受的函数的能力 - 例如接受字符串的函数)?也许问题在于如何调用函数?我已经尝试过类似InvocationCausedPanic(PanicOnErr, new(error))或InvocationCausedPanic(PanicOnErr, error(nil))无济于事的事情。感谢您的任何建议。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 430 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号