PHP程序异常处理实现方法
一个异常(Exception)则是在一个程序执行过程中出现一个例外或是一个事件,它中断了指令的运行,跳转到其他程序模块继续执行。所以异常处理经常被当作程序的控制流程使用。无论是错误还是异常,应用程序都必须能够以妥善的方式处理,并做出相应的反映,希望不要丢失数据或者导致程序崩溃。异常处理用于在指定的错误发生时改变脚本的正常流程,是PHP5中的一个新的重要特性。异常处理是一种可扩展、易维护的错误处理统一机制,并提供了一种新的面向对象的错误处理方式。在Java、C#及Python等语言中很早就提供了这种异常处理机制,如果你对某一种语言中的异常处理熟悉,那么对PHP中提供的异常处理机制也不会陌生。
try{ //所有需要进行异常处理的代码都必须放入这个代码块内
…… //在这里可以使用throw语句抛出一个异常对象
}catch(ex1){ //使用该代码块捕获一个异常,并进行处理
…… //处理发生的异常,也可再次抛出异常
}
1
2
3
4
5
6
7
8
9
10
|
<?php try { $error = ‘Always throw this error‘ ; throw new Exception( $error ); //创建一个异常对象,通过throw语句抛出 echo ‘Never executed‘ ; //从这里开始,try代码块内的代码将不会再被执行 } catch (Exception $e ){ echo ‘Caught exception;‘ , $e ->getMessage(), "\n" ; //输出捕获的异常消息 } echo ‘Hello World‘ ; //程序没有崩溃继续向下执行 ?> |
在上面的代码中,如果try代码中出现某些错误,我们就可以执行一个抛出异常的操作。在某些编程语言中,例如Java中,在出现异常时将自动抛出异常。而在PHP中,异常必须手动抛出。throw关键字将处罚异常处理机制,它是一个语言结构,而不是一个函数,但必须给它传递一个对象作为值。在最简单的情况下,可以实现一个内置的Exception类,就像以上代码所示那样。如果在try语句中有异常对象被抛出,该代码块不会再继续向下执行,而直接跳转到catch中执行。并传递给catch代码块一个对象,也可以理解为被catch代码块捕获的对象,其中就是导致异常被throw语句抛出的对象。在catch代码块中可以简单地输出一些异常的原因,也可以是try代码块中任务的另一个版本解决反感,此外,也可以在这个catch代码块中产生新的异常。最重要的是,在异常处理之后,程序不会崩溃,而会继续执行。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。