正在回答 回答被采纳积分+1
2回答
好帮手慕小尤
2020-08-13 13:37:54
同学你好,1. 当没有定义命名空间时,Exception和\Exception 都可以执行抛出异常。如下所示:
<?php
// 捕获到异常抛出异常
try {
throw new Exception("抛出异常");
} catch (Exception $e) {
echo '捕获到异常'.$e->getMessage();
}<?php
// 捕获到异常抛出异常
try {
throw new \Exception("抛出异常");
} catch (\Exception $e) {
echo '捕获到异常'.$e->getMessage();
}2. 当定义命名空间时,使用Exception会在定义的命名空间下找对应的异常类。如果没有此异常类,则会报错。如下所示:
<?php
namespace Test;
// 抛出异常Fatal error: Uncaught Error: Class 'Anxiaojing\Exception' not found *** Stack trace: #0 {main} thrown in ***
try {
throw new Exception("抛出异常");
} catch (Exception $e) {
echo '捕获到异常'.$e->getMessage();
}3. 定义命名空间 使用\Exception 会按照php默认的异常类执行抛出异常 ,也就是抛出传递的异常
<?php
namespace Test;
// 捕获到异常抛出异常
try {
throw new \Exception("抛出异常");
} catch (\Exception $e) {
echo '捕获到异常'.$e->getMessage();
}同学可根据代码进行测试,可能会有所理解。
祝学习愉快!
PHP常用技术与ThinkPHP5框架开发
- 参与学习 人
- 提交作业 225 份
- 解答问题 3372 个
掌握用PHP开发互联网网站的必备功能,掌握当下主流的Linux系统开发,并熟练使用热门框架ThinkPhp开发电商团购项目,是通向PHP工程师必经之路。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星