Rhy*_*hys 1 php error-handling exception-handling exception
我使用自定义函数的错误处理,并注意所有三个用户错误类型(注意,警告和错误)都返回true.
我使用trigger_error函数在错误处理函数时转义函数(例如插入了无效数据).我认为逃避该功能的最佳方法是使用:
return trigger_error('Error notice here');
Run Code Online (Sandbox Code Playgroud)
问题是,错误返回true.虽然不是所有的函数返回真正的成功时,在我看来,这样可以在未来使用(因此,假将是一个错误).
有没有理由为什么这个函数会返回true,或者我是否遵循了退出无效函数的错误做法?
我知道解决方案可能是:
trigger_error('Error notice here');
return false;
Run Code Online (Sandbox Code Playgroud)
但我认为会有更优雅的方法.如果没有,希望对最佳实践有所了解.
它返回TRUE
是因为触发错误的操作成功.FALSE
如果您为第二个参数指定了无效的错误类型,那就是它.
如果你想TRUE
在一行中返回并触发错误(顺便说一下,我看不到它的方式),你可以这样做:
return !trigger_error('Error notice here');
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果你触发E_USER_ERROR
我怀疑将会达到评估返回值的代码,因为除非你已经注册了一个错误处理程序来捕获它,否则错误将是致命的.
如果要退出函数并显示可在代码中处理的错误消息,则应使用异常.虽然这些在程序功能的背景下是否有意义是值得商榷的.