我使用CakePHP的,有时不顺心的事,我得到错误文本的墙。CakePHP的自定义异常处理
E.g.
$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错误的。
我试图尝试catch子句,但结果是一样的。
我该如何处理这样的错误?
我不敢肯定,如果我理解你的问题。你有问题吗,你想抛出一个特殊的异常?如果是的话为什么不这样说呢? –
AFAIK,这个产量HTML'500'状态,这样你就可以处理它就像你处理任何'500'(http://book.cakephp.org/2.0/en/development/exceptions.html#exception-renderer )。这些新页面仅在调试设置为“0”时才会显示。 – Holt