ch07 错误和异常处理

文章目录错误和异常处理异常处理的概念Exception类用户自定义异常Bob汽车零部件商店应用的异常异常和PHP的其他错误处理机制错误和异常处理异常为以一种可扩展、可维护和面向对象的方式处理错误提供了统一机制。异常处理的概念1.异常处理的基本思想是代码在try代码块被调用执行。如果try代码块出现某些错误,我们可以执行一个抛出异常的操作。try{ //...}2.在PHP...
摘要由CSDN通过智能技术生成

错误和异常处理

异常为以一种可扩展、可维护和面向对象的方式处理错误提供了统一机制。

异常处理的概念

1.异常处理的基本思想是代码在try代码块被调用执行。如果try代码块出现某些错误,我们可以执行一个抛出异常的操作。

try
{
   
    //...
}

2.在PHP中,异常必须手动抛出。

throw new Exception($message,$code);

throw关键字将触发异常处理机制。它是一个语言结构,而不是一个函数,但是必须给他传递一个值。它要求接受一个对象。在最简单的情况下,可以实例化一个内置的Exception类,这个类的构造函数需要三个参数:消息、代码以及前序异常。前两个参数分别表示错误消息和错误代码号。当处理一系列的异常时,第三个参数可以用来传递前面抛出的异常。这三个参数都是可选的。

3.在try代码块之后,必须至少给出一个catch代码块。一个代码块可以有多个catch代码块。

catch (typehint exception)
{
   
    //handle exception
}

传递给catch代码块的对象(也是被catch代码块捕获的)就是导致异常并传递给throw语句的对象。该异常可以是任何类型的。
当产生一个异常时,PHP将查询一个匹配的catch代码块。如果有多个catch代码块,传递给每一个catch代码块的对象必须具有不同的类型。

4.在catch代码块后可以添加finally代码块(可选)。在执行完try和catch代码块后,无论是否抛出异常,finally代码块都会被执行。

try{
   
    //do something maybe throw some exceptions
}catch(Exception $e){
   
    //handle exception
}finally{
   
    echo 'Always runs!';
}

5.还可以在catch代码块产生新的异常。

#basic_exception.php
<?php
    try{
   
        throw new Exception("A terrible error has occured", 42);
    }catch(Exception $e){
   
        echo "Exception".$e -> getCode().": ".$e -> getMessage()."<br />".
        "in ".$e -> getFile()."on line ".$e -> getLine(). "<br />";
    }
?>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值