啥时候使用/Exception,啥时候使用Expection呢

啥时候使用/Exception,啥时候使用Expection呢

啥时候使用/Exception,啥时候使用Expection呢

正在回答 回答被采纳积分+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();
}

同学可根据代码进行测试,可能会有所理解。

祝学习愉快!

  • 提问者 慕仙0328516 #1
    2. 当定义命名空间时,使用Exception会在定义的命名空间下找对应的异常类。如果没有此异常类,则会报错 在这种情况下如果要使用Exception,代码应该如何来写
    2020-08-13 15:17:41
  • 好帮手慕小尤 回复 提问者 慕仙0328516 #2
    同学你好,使用Exception方式同学需要在设置的命名空间的目录中自定义一个异常类。所以在一般情况下抛出异常使用\Exception的方式。祝学习愉快!
    2020-08-13 16:59:55
好帮手慕小尤 2020-08-13 09:36:51

同学你好,1. 没有定义命名空间的情况下 , Exception和\Exception 均可正常执行抛出异常;

2. 定义命名空间的情况 , Exception 会在定义的命名空间下找对应的异常类 , 如果没有定义异常类 , 则会报错 ;
3. 定义命名空间的情况 , \Exception 会按照php默认的异常类执行抛出异常 ;

如果解决了您的问题,请采纳,祝学习愉快~

  • 提问者 慕仙0328516 #1
    还是看不太懂这句话
    2020-08-13 10:10:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师