日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > ZendFramework > Zend Framework教程-ErrorController,Exception

Zend Framework教程-ErrorController,Exception

來源:程序員人生   發布時間:2014-04-29 13:38:27 閱讀次數:3699次

            通常,應用會在運行過程中遇到一些錯誤,Zend Framework提供了對錯誤的拋出和捕捉機制,這樣可以對異常進行靈活的處理。

如果要在頁面上顯示錯誤消息,需要在配置文件中打開錯誤配置,如下:

resources.frontController.params.displayExceptions = 1phpSettings.display_startup_errors = 1phpSettings.display_errors = 1

Zend Framework的MVC中通過Zend_Controller_Front捕捉了異常,然后重定向到一個一般性的錯誤頁面或者主頁。Zend Framework提供的基本的拋出異常的處理如下:

/zf_demo1/application/controllers/ErrorController.php

<?phpclass ErrorController extends Zend_Controller_Action{    public function errorAction()    {        $errors = $this->_getParam('error_handler');                if (!$errors || !$errors instanceof ArrayObject) {            $this->view->message = 'You have reached the error page';            return;        }                switch ($errors->type) {            case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:            case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:            case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:                // 404 error -- controller or action not found                $this->getResponse()->setHttpResponseCode(404);                $priority = Zend_Log::NOTICE;                $this->view->message = 'Page not found';                break;            default:                // application error                $this->getResponse()->setHttpResponseCode(500);                $priority = Zend_Log::CRIT;                $this->view->message = 'Application error';                break;        }                // Log exception, if logger available        if ($log = $this->getLog()) {            $log->log($this->view->message, $priority, $errors->exception);            $log->log('Request Parameters', $priority, $errors->request->getParams());        }                // conditionally display exceptions        if ($this->getInvokeArg('displayExceptions') == true) {            $this->view->exception = $errors->exception;        }                $this->view->request   = $errors->request;    }    public function getLog()    {        $bootstrap = $this->getInvokeArg('bootstrap');        if (!$bootstrap->hasResource('Log')) {            return false;        }        $log = $bootstrap->getResource('Log');        return $log;    }}

/zf_demo1/application/views/scripts/error/error.phtml


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>Zend Framework Default Application</title></head><body>  <h1>An error occurred</h1>  <h2><?php echo $this->message ?></h2>  <?php if (isset($this->exception)): ?>    <h3>Exception information:</h3>  <p>      <b>Message:</b> <?php echo $this->exception->getMessage() ?>  </p>  <h3>Stack trace:</h3>  <pre><?php echo $this->exception->getTraceAsString() ?>  </pre>  <h3>Request Parameters:</h3>  <pre><?php echo $this->escape(var_export($this->request->getParams(), true)) ?>  </pre>  <?php endif ?></body></html>


ErrorController不是必須的,但是通過ErrorController可以打印異常堆棧,對查找異常位置,定位異常,找到解決方法。對于異常的處理可以在這里進行統一的處理。


Controller中的trycatch進行拋出。


trycatch的基本用法如下:

try {    Zend_Loader::loadClass('nonexistantclass');} catch (Zend_Exception $e) {    echo "Caught exception: " . get_class($e) . "";    echo "Message: " . $e->getMessage() . "";    // 處理錯誤的代碼}



Zend_Framework定義了用到的常見的異常,默認的異常是 Zend_Exception。如果有必要,你可以定義自己的異常類。Zend_Framework處理異常的機制這里不做解釋,可以自行分析源代碼。



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩av电影在线播放 | 蜜臀麻豆| 丰满放荡岳乱妇699www | 国产成人极品 | 精品国产1区| 不卡在线 | 国产美女高潮 | 国产欧美精品一区二区 | 日韩欧美精品在线 | 精品久久久久久久 | 午夜精品久久久 | 三级福利视频 | 国产在视频一区二区三区吞精 | 精品久久久久久久久久久久久久久久久久 | 国产美女黄色 | 久久国产视频网站 | 亚洲福利片 | 黄色短视频在线观看 | 国产剧情一区二区 | 亚洲一区二区精品视频 | 日本国产欧美 | 亚洲三级免费 | www.伊人.com| 欧美视频一区二区 | 成年人黄网站 | 亚洲精品乱码久久久久久按摩观 | 欧美日韩一二三 | 日韩在线一区二区三区 | 欧美 亚洲 另类 激情 另类 | 国产激情在线 | 只有这里有精品 | 国产精品一区二区三区四区在线观看 | 91成人入口 | 福利精品| 国产精品15p | 九九热av | 亚洲综合视频在线 | 国产真实精品久久二三区 | 日本一区二区三区视频在线 | 久久久亚洲精品视频 | 成人免费视频网 |