【发布时间】:2015-07-20 16:14:48
【问题描述】:
我正在使用 CakePHP,有时会出现问题,我收到一堵错误文字。
例如
$response = array(
'error'=>true,
'invalidKey'=>false,
'message'=>ERROR_ACCOUNT_EXISTS,
);
我有这段代码,假设 ERROR_ACCOUNT_EXISTS 没有在任何地方定义。它应该抛出一个异常。
这是我得到的:
<pre class="cake-error"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr55ad1d63b99ac-trace').style.display = (document.getElementById('cakeErr55ad1d63b99ac-trace').style.display == 'none' ? '' : 'none');"><b>Notice</b> (8)</a>: Use of undefined constant MESSAGE_REGISTRATION_SUCCESSFUL - assumed 'MESSAGE_REGISTRATION_SUCCESSFUL' [<b>APP/Controller/ApiController.php</b>, line <b>56</b>]<div id="cakeErr55ad1d63b99ac-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr55ad1d63b99ac-code').style.display = (document.getElementById('cakeErr55ad1d63b99ac-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr55ad1d63b99ac-context').style.display = (document.getElementById('cakeErr55ad1d63b99ac-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr55ad1d63b99ac-code" class="cake-code-dump" style="display: none;"><code><span style="color: #000000"><span style="color: #0000BB"> </span><span style="color: #DD0000">'invalidKey'</span><span style="color: #007700">=></span><span style="color: #0000BB">false</span><span style="color: #007700">,</span></span></code><code><span style="color: #000000"><span style="color: #0000BB"> </span><span style="color: #DD0000">'user'</span><span style="color: #007700">=></span><span style="color: #0000BB">$result</span><span style="color: #007700">[</span><span style="color: #DD0000">'User'</span><span style="color: #007700">],</span></span></code><span class="code-highlight"><code><span style="color: #000000"><span style="color: #0000BB"> </span><span style="color: #DD0000">'message'</span><span style="color: #007700">=> </span><span style="color: #0000BB">MESSAGE_REGISTRATION_SUCCESSFUL</span><span style="color: #007700">,</span></span></code></span></pre><pre id="cakeErr55ad1d63b99ac-context" class="cake-context" style="display: none;">$name = '
我不希望出现这种 html 错误。
我试过 try catch 子句,但结果是一样的。
如何处理此类错误?
【问题讨论】:
-
我不确定我是否理解您的问题。你有问题,你想抛出一个特殊的异常吗?如果是,为什么不这么说呢?
-
AFAIK,这会产生 HTML
500状态,因此您可以像处理任何500(book.cakephp.org/2.0/en/development/…) 一样处理它。这些新页面仅在调试设置为0时才会显示。
标签: php cakephp exception-handling