在PHP中,错误可以分为两类。
一类是用户主动抛出的,可以使用try{}catch{}机制进行补货;
另外一种就是PHP执行过程中发生的一些错误。
C#和java中,发生了错误之后,系统会自动抛出异常,我们只需要使用catch方法捕获异常就可以了。
如何获取错误信息
PHP语言,虽然不会主动抛出异常,但是会将异常进行保存,我们可以通过error_get_last
函数来获取PHP残生的异常。
当错误发生时,可以通过error_get_last
获取错误信息,如下:
array (size=4)
'type' => int 1
'message' => string 'Class 'Demo' not found' (length=22)
'file' => string 'C:\wamp\www\test.php' (length=20)
'line' => int 11
检测错误发生
在PHP语言中,如果发生了错误或异常时,会自动调用函数register_shutdown_function()
,该函数的有两个参数,第一个参数是调用的错误处理函数名(必须),第二个参数是传递给错误处理函数的参数(可选)。
代码实例
<?php
header("Content-type:text/html;charset='utf-8'");
error_reporting(0);
function demo($e=null) {
$error = error_get_last();
var_dump($error);exit;
}
register_shutdown_function("demo");
$a = 1;
$a = new Demo();
echo '看看出错说什么~';
上诉代码,我们使用了一个未定义的类,产生异常,调用register_shutdown_function函数,然后又调用了demo函数。