在公有方法中,用try/try catch怎么用块捕获异常,该异常的类型是什么?(php)

原标题:php中try try catch怎么用捕获异常实例詳解

本文实例讲述了php中try try catch怎么用捕获异常分享给大家供大家参考。具体方法分析如下:

php中try try catch怎么用可以帮助我们捕获程序代码的异常了这樣我们可以很好的处理一些不必要的错误了,感兴趣的朋友可以一起来看看

PHP5添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的異常可被 throw语句抛出并被 try catch怎么用 语句捕获(注:一定要先抛才能获取)

需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在嘚异常

每一个 try 至少要有一个与之对应的 try catch怎么用。

使用多个 try catch怎么用可以捕获不同的类所产生的异常

当 try 代码块不再抛出异常或者找不到 try catch怎麼用 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 try catch怎么用 的后面继续执行

当然,PHP允许在 try catch怎么用 代码块内再次抛出(throw)异常

当一個异常被抛出时,其后(译者注:指抛出异常时所在的代码块)的代码将不会继续执行而 PHP 就会尝试查找第一个能与之匹配的 try catch怎么用。

如果一个异常没有被捕获而且又没用使用 set_exception_handler() 作相应的处理的话,那么 PHP 将会产生一个严重的错误并且输出 Uncaught Exception ... (未捕获异常)的提示信息。

先来看一下PHP内置异常类的基本属性和方法(不包括具体实现)

//这里可以捕获到前面一个块抛出的Exception

为了进一步处理异常,我们需要使用PHP中try{}try catch怎么鼡{}----包括Try语句和至少一个的try catch怎么用语句任何调用 可能抛出异常的方法的代码都应该使用try语句。try catch怎么用语句用来处理可能抛出的异常以下顯示了我们处理getCommandObject()抛出的异常的方法:

可以看到,通过结合使用throw关键字和PHP中try{}try catch怎么用{}我们可以避免错误标记“污染”类方法返回的值。因为“异常”本身就是一种与其它任何对象不同的PHP内建的类型不会产生混淆。

如果抛出了一个异常try语句中的脚本将会停止执行,然后马上轉向执行try catch怎么用语句中的脚本

如果异常抛出了却没有被捕捉到,就会产生一个fatal error

多个try catch怎么用捕获多个异常

PHP将查询一个匹配的try catch怎么用代码塊。如果有多个try catch怎么用代码块传递给每一个try catch怎么用代码块的对象必须具有不同类型,这样PHP可以找到需要进入哪一个try catch怎么用代码块当try代碼块不再抛出异常或者找不到try catch怎么用能匹配所抛出的异常时,PHP代码就会在跳转最后一个try catch怎么用的后面继续执行多个异常的捕获的示例如丅:

//重定义构造器使第一个参数message变为必须被指定的属性

//可以在这里定义一些自己的代码

//重写父类中继承过来的方法,自定义字符串输出的樣式

//为这个异常自定义一个处理方法

echo "按自定义的方法处理出现的这个类型的异常";

//创建一个用于测试自定义扩展的异常类MyException

public $var; //用来判断对象是否創建成功的成员属性

case 1: //掺入参数1则抛出自定义的异常对象

case 2: //传入参数2,则抛出PHP内置的异常对象

default: //传入参数合法则不抛出异常

//示例1,在没有异瑺时程序正常执行,try中的代码全部执行并不会执行任何try catch怎么用区块

var_dump($testObj); //判断对象是否创建成功如果没有任何异常,则创建成功

//示例2抛出洎定义的异常,并通过自定义的异常处理类捕获这个异常并处理

//示例2抛出自内置的异常,并通过自定义的异常处理类捕获这个异常并处悝

在上面的代码中可以使用两个异常处理类:一个是自定义的异常处理类MyException;另一个则是PHP中内置的异常处理类Exception。分别在try区块中创建测试类TestException嘚对象并根据构造方法中提供的不同数字参数,抛出自定义异常类对象、内置的异常类对象和不抛出任何异常的情况跳转到对应的try catch怎麼用区块中执行。如果没有异常发生则不会进入任何一个try catch怎么用块中执行,测试类TestException的对象创建成功

希望本文所述对大家的php程序设计有所幫助

}

我要回帖

更多关于 谁用过trytry 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信