## 手动抛出异常
可以使用`thinkException`类来抛出异常
~~~
// 使用think自带异常类抛出异常
throw new thinkException('异常消息', 100006);
~~~
如果不使用think异常类,也可以定义自己的异常类来抛出异常
~~~
throw new foobarException('异常消息');
~~~
也可以使用系统提供的助手函数来简化处理:
~~~
exception('异常消息', 100006);
// 使用自定义异常类
exception('异常消息', 100006, foobarExceeption);
~~~
## 抛出 HTTP 异常
可以使用`thinkexceptionHttpException`类来抛出异常
~~~
// 抛出 HTTP 异常
throw new thinkexceptionHttpException(404, '异常消息', null, [参数]);
~~~
系统提供了助手函数`abort`简化HTTP异常的处理,例如:
~~~
abort(404, '异常消息', [参数])
~~~
HTTP异常可以单独定义异常模板,请参考后面的404页面。