PHP程序中的错误与异常

原创 2015年11月18日 20:26:58

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。






Java----异常类(错误和异常,两者区别)

在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。   Throwable 有...
  • oChangWen
  • oChangWen
  • 2016年09月06日 12:50
  • 8762

Java中的错误与异常

在java.lang软件包中有一个java.lang.Throwable类,这个类是java中所有错误和异常的超类。 顾名思义,这个类(以及子类)的实例可以通过JVM或者java的throw语句抛出...
  • MaggieDorami
  • MaggieDorami
  • 2012年09月03日 00:24
  • 4105

Java的异常和错误

Java语言中所有的错误及异常都继承自Throwable类。只有当对象是此类或其子类的实例时,才能通过JVM或者Java throw语句抛出。有点意思的是其他以able结尾的都是接口,而Throwab...
  • LearnHowToFly
  • LearnHowToFly
  • 2015年08月22日 14:44
  • 590

java的异常和错误有什么区别。

转自:http://zhidao.baidu.com/link?url=WXc5XgeNzFZSkyBoLD029fXjOBSJbY_8ybMSk7b1FIJroXtZZuNEbAZIeQQDNRDL...
  • suyu_yuan
  • suyu_yuan
  • 2016年09月05日 13:12
  • 895

Java之IO异常处理

import java.io.* ; class FileWriterDemo2{ public static void main(String args[]){ FileWri...
  • u012706758
  • u012706758
  • 2014年09月10日 16:09
  • 1883

Error与Exception(错误和异常的区别与联系)

JDK中对于java.lang.Error和java.lang.Exception的解释  java.lang.Error: An Error is a subclass of Throwable ...
  • u011046058
  • u011046058
  • 2015年07月29日 16:56
  • 1272

21. 区分业务异常和技术异常

区分业务异常和技术异常         应用程序在运行时出错基本上是两个原因:阻止我们使用程序的技术问题和阻止我们错误地使用程序的业务逻辑。现代编程语言,例如LISP,Java,Smalltalk和...
  • aoelover
  • aoelover
  • 2013年08月24日 13:52
  • 1032

java语言中的异常与错误

在java中程序错误分为异常(Exception)和错误(Error) java语言中,Throwable是异常类(Exception)和错误类(Error)的基类 Throwable类: ...
  • TopMawei
  • TopMawei
  • 2015年05月12日 08:23
  • 572

Java编程中常见的异常与错误?

凌阳教育 2017-03-06 14:46 1、当你在一个路径下执行编译好的class文件出错。 异常如下: E:\liwy>java Test98 exception in thre...
  • u011277123
  • u011277123
  • 2017年03月14日 14:55
  • 458

[asp.netMVC]"/"应用程序中的服务器错误

“/”应用程序中的服务器错误。 运行时错误 说明: 处理您的请求时发生异常。此外,对第一个异常执行自定义错误页时发生另一异常。已终止请求。 原来的错误就如上图所描述的那样,而且报的错误代码是...
  • a5534789
  • a5534789
  • 2015年03月23日 10:32
  • 3180
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP程序中的错误与异常
举报原因:
原因补充:

(最多只允许输入30个字)