我有这样的代码:
// this will provoke a fatal error because "Grap" without last "h"
$graph = new CanvasGrap(300,100);
if ( is_wp_error($graph) ){ echo "is wp_error"; }
情况:
目标:
发布于 2020-02-12 13:54:33
CanvasGraph
是否专门写入WP_Error
对象?is_wp_error()
用于手动传递错误消息。它不是用来处理一般PHP错误的。您的代码应该拼写正确,就这么简单。你不应该仅仅因为你做了排字就写自定义错误消息。这意味着您打算将代码发送给您还没有费心检查排字的用户。在您将其发送给用户之前,需要对其进行修复。
在开发中,将显示或记录的正常PHP错误应该足以捕获这些问题。如果手工测试不可行,编写单元测试将是自动运行所有代码的一种方法,但对于这里的单个答案来说,这是一个太大的主题。不过,这篇文章似乎提供了一个很好的介绍。
WP_Error
和is_wp_error()
的目的是让WordPress API或您自己的主题/插件中的API能够手动地将错误对象返回给正在使用它们的开发人员,以便他们能够在下游处理它们。例如,如果尝试在无效的分类法中使用get_terms()
,它将返回一个WP_Error
对象,因为这是WordPress开发人员可以预见的情况。但是,如果您只是拼写错误,这就是您的错误,您需要使用get_terms()
的致命错误消息来捕捉问题,要么检查错误日志,要么运行测试。
https://wordpress.stackexchange.com/questions/358477
复制相似问题