Yaf如何自定义抛出异常catchException
来源:互联网 发布:淘宝店是怎么进货的 编辑:程序博客网 时间:2024/06/14 20:32
Yaf的抛出分为错误级别和异常级别,我这里速记的是如何自定义异常捕获已经处理
系统默认的抛出通常会暴露你的文件结构以及命名方式,在系统面向公网的时候,我们有必要对这些做出屏蔽或者处理
define("APP_PATH", __DIR__);$app = new Yaf_Application(APP_PATH . "/conf/application.ini");$app->getDispatcher()->catchException(true);$app->bootstrap()->run();
这样设置也是可以的,至于效率哪个更好,我不是很清楚,懂的童靴麻烦告诉一下
Yaf_Dispatcher::getInstance()->catchException(true);
设置catchException为true,可以自定义捕获
捕获处理比较简单
在当前module下面创建一个Error的Controller下面创建一个errorAction
class ErrorController extends Yaf_Controller_Abstract { public function errorAction($exception) { Yaf_Dispatcher::getInstance()->disableView(); /* error occurs */ switch ($exception->getCode()) { case YAF_ERR_NOTFOUND_MODULE: case YAF_ERR_NOTFOUND_CONTROLLER: case YAF_ERR_NOTFOUND_ACTION: case YAF_ERR_NOTFOUND_VIEW: echo 404, ":", $exception->getMessage(); break; default : $message = $exception->getMessage(); echo 0, ":", $exception->getMessage(); break; } }}
$app->getDispatcher()->throwException(FALSE);$app->getDispatcher()->setErrorHandler("myErrorHandler");$app->bootstrap()->run();function myErrorHandler($errno, $errstr, $errfile, $errline){ switch ($errno) { case YAF_ERR_NOTFOUND_CONTROLLER: case YAF_ERR_NOTFOUND_MODULE: case YAF_ERR_NOTFOUND_ACTION: header("Not Found"); break; default: echo 'errno: '.$errno.'<br>'; echo 'errstr: '.str_replace(APP_PATH, '[PATH]', $errstr).'<br>'; echo 'errfile: '.str_replace(APP_PATH, '[PATH]', $errfile).'<br>'; echo 'errline: '.$errline.'<br>'; break; } return true;}
2 0
- Yaf如何自定义抛出异常catchException
- Java 如何抛出异常、自定义异常
- 手动抛出自定义异常!
- throws自定义抛出异常
- java 抛出自定义异常
- Dubbo抛出自定义异常
- iOS 【自定义 抛出异常】
- 自定义抛出异常
- js抛出自定义异常
- Dubbo抛出自定义异常
- 自定义抛出异常
- Java 自定义异常 异常抛出
- java异常——异常分类+声明已检查异常+如何抛出异常+自定义异常类
- 如何自己抛出异常
- 如何抛出异常
- JAVA如何抛出异常
- Oracle触发器抛出自定义异常
- OC抛出异常与自定义异常类
- 自定义无标题Dialog
- iOS多线程GCD
- hdu-1850(Nimm博弈)
- 配置java环境
- Xms Xmx PermSize MaxPermSize 区别
- Yaf如何自定义抛出异常catchException
- android在fragment中实现onTouchEvent办法出现的java.lang.NullPointerException
- 解剖Nginx·模块开发篇(2)ngx_http_hello_world_module 模块基本结构定义
- 2014-10-31Android学习------SQLite数据库操作(四)-----数据库模块(二)增删改查实例展示
- Java SE、Java EE、Java ME
- log4j.properties文件的配置
- 输入三角形的三条边,输出三角形的性质。
- 实现CAS与AD在Windows下集成
- open_cursors、sessions、processes