我正在爲HTML設計人員使用PHP方法檢索內容的項目進行開發。現在,是處理異常的時候了,我們遇到了問題,以便同時保持HTML漂亮,清晰,語義和PHP正確。如何處理PHP異常並保持它的語義?
直到例外,HTML模板都有類似我:
<h2 class="title"><?php Content::getTitle() ?></h2>
現在,如果我們想處理異常,我們suposed寫:
<h2 class="title">
<?php
try {
Content::getTitle();
} catch (Exception $e) {
echo $e->getMessage();
}
?>
</h2>
至極是什麼,但很乾淨。
或者
<?php
try {
// THE WHOLE TEMPLATE RENDERING!!!
} catch (Exception $e) {
echo $e->getMessage();
}
?>
至極是unnaceptable因爲它停止呈現在任何異常,當它應該報告問題並繼續。
所以,我們正在考慮把try/catch語句的東西方法本身裏面:
class Content {
public static function getTitle {
try {
if (something==happened) throw new Exception 'OMG!';
else {
DoTheJob();
}
} catch (Exception $e) {
echo $e->getMessage();
}
}
似乎在時刻工作,所以問題是:這是一個好的做法呢?有更好更乾的選擇嗎?
精絕發現,其實這是首選的方式。 – arkascha
然後,您應該先準備好所有HTML輸出,然後在最後將其吐出。 –
我很高興知道這是正確的......你不覺得這個程序缺少文檔嗎?接受文檔引用的答案;) – albertedevigo