PHP中如何捕获错误提示,如:Warning、Notice等信息

PHP 投稿 51000 0 评论

PHP中如何捕获错误提示,如:Warning、Notice等信息

php捕获错误提示的方法:

1、通过“error_reporting(E_ALL);”输出所有错误;

2、使用“try...catch”来捕获异常;

3、使用set_error_handler()函数托管错误处理程序。

PHP5中只是增加了对异常的处理,但是之前很多低版本的函数不会抛出异常,比如 iconv等,当遇到非法输入的时候,会出现: 

iconv(): Detected an incomplete multibyte character in input string 

的错误信息,只能屏蔽,但却没有很好的方式来捕获这些错误事件,然后来进行处理。 

翻阅了PHP的手册后发现了一个新函数,error_get_last(),大概就是取得程序中最后一个错误信息(包括Error、 Warning、Notice等所有的错误),这个是PHP 5.2以后出现的函数,通过这个函数,可以用下列代码来实现捕获错误事件的方式。 

$result = @iconv('GBK', 'UTF8--', 'feishuai.vip');
$error = error_get_last();
print_r($error);exit;

上面代码将打印出:

Array
(
    [type] => 8
    [message] => iconv(): Wrong charset, conversion from `GBK' to `UTF8--' is not allowed
    [file] => /var/www/diary/h5Api/test.php
    [line] => 9
)

编程笔记 » PHP中如何捕获错误提示,如:Warning、Notice等信息

赞同 (203) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽