异常处理

 


 

说明

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

 

<?php

define('APP_NAME', 'web');
define('APP_DEBUG', true);

require '../../bootstrap.php';

$engine = new \Timo\Core\Engine();

// 异常处理
try {
    $engine->start();
} catch(Exception $e) {

} catch(Error $e) {

}

 

方式一

// 异常处理
try {
    $engine->start();
} catch(Exception $e) {

    \Timo\Core\Exception::handle($e);
} catch(Error $e) {

    \Timo\Core\Exception::handle($e);
}

 

 

 

方式二,自己来处理异常

增加一个Error.php控制器

 

Error控制器代码

 

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

 

// 异常处理
try {
    $engine->start();
} catch(Exception $e) {

    //跳转到404页面,异常处理和日志记录
    $engine->run('Error', '_404', ['e' => $e]);
} catch(Error $e) {

    $engine->run('Error', '_404', ['e' => $e]);
}

 

$engine->run('Error', '_404', ['e' => $e]);
Error就是Error控制器,_404就是操作,这个是自定义的,你可以随意更改控制器和操作,比如改为Abc控制器的def操作
把异常记录到/logs/Exception/下面
如:/logs/Exception/08.10.log