博客列表 >错误和异常

错误和异常

莫名的博客
莫名的博客原创
2018年01月26日 20:14:07872浏览

php程序的错误分为三个方向:

1.语法错误(脚本停止运行)

2.运行时错误(输出错误,脚本继续运行)

3.逻辑错误(既不影响脚本的运行,也不输出错误,这种错误是代码内部逻辑错误,一般难查找)


错误级别有三种:

1.注意

2.警告

3.严重错误

总结:语法错误属于严重错误,会终止脚本的运行,而运行时的错误属于注意和警告级别,不会影响运行


错误级别的设置有两种方法:

1.php.ini文件中 error_reporting = E_ERROR

2.系统函数: error_reporting(E_ERROR)

使用第一种方法,作用的范围是任何一个脚本。而第二种方法,作为范围是当前所在脚本


错误提示的两种方式:

1.php.ini配置文件中属性:display_error = On

当属性值为On时,当在运行的脚本中出现错误时,浏览器会显示显示相应的错误

2.php.ini配置文件属性: error_log = 'file',错误会记录在相应的文件中

开发时会:display_error = On,上线后则会:display_error = Off


另外,除了系统指定的错误处理,我们还可以自定义自己的错误处理函数,注意使用函数:set_error_handle()来注册

自己的错误处理函数

例:

set_error_handle('myerror');

/*

param1: $error string --- 错误类型

param2: $message string --- 错误消息

param3: $line string ---- 错误行数

param4: $file string ----- 错误文件

*/

function myerror($error_type,$message,$line,$file)

{    

    echo "发生错误级别为{$error_type}类型,错误消息{$error_message},在文件{$error_file}中,

    第{$error_line}行";

}


异常处理:程序运行时出现的意外

工作原理:

1.执行try中的代码,如果没有问题,继续执行catch之后的代码

2.Exception 是系统的类

3.如果有异常对象抛出,就将异常对象给catch中的类

4.发生异常位置的代码不在执行,而是直接执行catch后的代码

5.一个try和至少对应一个catch,多异常中最后一个catch往往放置基类Exception


很多人会想错误和异常有什么区别?

对于这个问题,我是这么想的。第一,错误可以用异常来抛出,这点是非常重要的,说明我们可以通过扩展异常类,

可以友好的展示我们的错误信息。

第二,错误常常只是提示个错误消息,而异常往往有解决错误的方案。

上一条:dedeed下一条:tp5获取器的用法。
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议