Yii2.0框架定义了许多异常类,用于在应用程序中捕获和处理各种异常情况。下面是一些常见的异常类及其用途:
yii\base\Exception:所有自定义异常类的基类,继承自PHP内置的 Exception 类。
yii\base\InvalidConfigException:当组件的配置无效时抛出。
yii\base\InvalidArgumentException:当传递给方法或函数的参数无效时抛出。
yii\db\Exception:与数据库相关的异常,例如连接失败、查询错误等。
yii\web\BadRequestHttpException:当请求参数无效时抛出。
yii\web\NotFoundHttpException:当请求的页面不存在时抛出。
yii\web\ForbiddenHttpException:当用户没有访问权限时抛出。
yii\web\ServerErrorHttpException:当服务器内部出现错误时抛出。
这些异常类的底层原理是基于PHP的异常机制实现的。当代码中发生异常时,Yii2.0框架会自动捕获并将其转换成相应的异常类,然后交由异常处理程序处理。在处理异常时,可以利用异常类提供的方法和属性,获取异常的详细信息并进行相应的处理。例如,可以使用 getMessage() 方法获取异常消息,使用 getCode() 方法获取异常代码等。同时,也可以通过在应用程序中定义自定义异常类来扩展Yii2.0框架的异常处理能力。