我使用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