10.1 异常处理

和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面,如下图所示:

只有在调试模式下面才能显示具体的错误信息,如果在部署模式下面,你可能看到的是一个统一错误的提示文字,如果你试图在部署模式下访问一个不存在的模块或者操作,会发送404错误。
调试模式下面一旦系统发生严重错误会自动抛出异常,也可以用ThinkPHP定义的throw_exception方法手动抛出异常。
throw_exception 抛出异常
用法 throw_exception($msg, $type='ThinkException', $code=0)
参数 msg(必须):要抛出的异常信息,字符串
type(可选):异常类型,默认为ThinkException,如果异常类型不存在,则会调用系统的halt方法直接输出错误信息。
code(可选):异常代码,默认为0
返回值
下面是throw_exception函数的一些使用例子:throw_exception('新增失败');
throw_exception('信息录入错误','InfoException');
同样也可以使用throw 关键字来抛出异常,下面的写法是等效的:throw new ThinkException('新增失败');
throw new InfoException('信息录入错误');
如果需要,我们建议在项目的类库目录下面增加Exception目录用于专门存放异常类库,以更加精确地定位异常。