关闭

PHP程序中的错误与异常

标签: PHP
183人阅读 评论(0) 收藏 举报
分类:

1,设置错误的显示

如果编写的PHP程序有问题,那么在执行的时候会显示注意、警告、错误等提示,如果要想忽略这些提示,可以使用error_reporting()函数

例如:error_reporting(E_ALL & ~E_NOTICE); 就是除了注意意外的错误都提示。


2,自定义PHP的错误报告处理方式

如果出现错误不进行处理,就会导致在错误出现的地方有错误提示,这样就会影响布局。所以这时我们需要将出现的错误统一处理(例如放在页面后面)

使用:可以使用set_error_handler("myerrorfun");并在myerrorfun()函数中处理异常,该函数接受4个变量,错误类型、错误消息、错误文件、错误的位置


3,记录错误日志

为了方便调试,我们需要将错误提示写到日记里去。PHP的错误默认写到web服务器(nginx或apache[apache_error.log])下

但是这样查看不方便,就在PHP配置文件php.ini文件内添加error_log = "xxxx.log"(文件目录),就将错误日志放在对应文件内


4,PHP的异常处理

(1)什么是PHP的异常处理:异常是程序运行过程的出现的意外。使用异常处理就是在出现异常的时候能够顺利的解决。异常处理的结构:

try{

echo "开车上班"

throw new Exception("车子爆胎")

}catch( Exception $e){

echo "换上备胎,继续上班"

echo $e->getMessage();     //可以这样来获取异常的消息。

}

注:try catch是一体的,两者之间不能有任何代码。工作原理是试着执行try中的程序,如果出现了问题,就在try中抛出异常再运行catch中的程序这是$e就表示"车子爆胎"。

Exception是系统定义的类,try中发生异常后的代码不再运行,而是直接到catch中,catch中程序完成以后再运行catch以后的代码。 

注意这程序执行永远都是异常的,这时需要使用前面第二点说明的自动异常处理set_error_handler("myerrorfun");,在myerrorfun函数内抛出异常。


5,自定义异常

系统给的Exception类,只能显示错误的消息,并不能处理。这是就需要自己创建类来处理,但这个类必须继承Exception类


calss myException extends Excrption{

处理函数()

注:如果在这里重写了构造函数,一定要调用一下父类中被覆盖的方法。

}

try{

echo "开车上班"

}catch( myException $e){

echo "换上备胎,继续上班"

echo $e->处理函数();     //可以这样来获取异常的消息。

}


6,捕获多个异常

根据第5点,我们可以写多个catch同时写多个异常类。

try里面可以再嵌套try catch。






0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:55779次
    • 积分:1232
    • 等级:
    • 排名:千里之外
    • 原创:69篇
    • 转载:4篇
    • 译文:0篇
    • 评论:2条
    文章分类