异常处理


说明

在入口文件index.php增加异常和错误捕获

  1. <?php
  2. define('APP_NAME', 'web');
  3. define('APP_DEBUG', true);
  4. require '../../bootstrap.php';
  5. $engine = new \Timo\Core\Engine();
  6. // 异常处理
  7. try {
  8. $engine->start();
  9. } catch(Exception $e) {
  10. } catch(Error $e) {
  11. }

方式一

  1. // 异常处理
  2. try {
  3. $engine->start();
  4. } catch(Exception $e) {
  5. \Timo\Core\Exception::handle($e);
  6. } catch(Error $e) {
  7. \Timo\Core\Exception::handle($e);
  8. }

方式二,自己来处理异常

增加一个Error.php控制器

Error控制器代码

这个就比较灵活了,在控制器里想怎么写就怎么写,把权限给开发者,我们可以在_404操作里面发挥你的想象

  1. // 异常处理
  2. try {
  3. $engine->start();
  4. } catch(Exception $e) {
  5. //跳转到404页面,异常处理和日志记录
  6. $engine->run('Error', '_404', ['e' => $e]);
  7. } catch(Error $e) {
  8. $engine->run('Error', '_404', ['e' => $e]);
  9. }
  1. $engine->run('Error', '_404', ['e' => $e]);
  2. Error就是Error控制器,_404就是操作,这个是自定义的,你可以随意更改控制器和操作,比如改为Abc控制器的def操作
  3. 把异常记录到/logs/Exception/下面
  4. 如:/logs/Exception/08.10.log