> php教程 > php手册 > 본문

php学习笔记--error

WBOY
풀어 주다: 2016-06-21 08:47:52
원래의
811명이 탐색했습니다.

不同的错误处理方法: 简单的die()语句自定义错误函数和错误触发器错误报告 基本的错误处理:使用die()函数
if(!file_exists("welcome.txt")){ die("FIle not found"); }else{ $file=fopen("welcome.txt","r"); }
或者 $file=fopen("webdictionary.txt","r") or die("Unable to open file!");
die(status):如果status是字符串,则该函数会在推出前输出字符串。 如果status是证书,这个值会被用作退出状态。退出状态的值在0到254之间。退出状态255由php保留,不会被使用。状态0用于成功地终止程序。
创建自定义错误处理器: 该函数必须有能力处理至少两个参数(error level和error message),但是可以接受最多五个参数(可选的:file,line-number以及error context)。 error_function(error_level,error_message,error_file,error_line,error_context)//错误报告级别,错误消息,发送错误的文件名,行号,规定一个数组(包含了当错误发生时在用的每个变量以及它们的值)

常量 描述
2 E_WARNING 非致命的 run-time 错误。不暂停脚本执行。
8 E_NOTICE

Run-time 通知。脚本发现可能有错误发生,但也可能在脚本正常运行时发生。

256 E_USER_ERROR 致命的用户生成的错误。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_ERROR。
512 E_USER_WARNING 非致命的用户生成的警告。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_WARNING。
1024 E_USER_NOTICE 用户生成的通知。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_NOTICE。
4096 E_RECOVERABLE_ERROR 可捕获的致命错误。类似 E_ERROR,但可被用户定义的处理程序捕获。(参见 set_error_handler())
8191 E_ALL 所有错误和警告,除级别 E_STRICT 以外。 (在 PHP 6.0,E_STRICT 是 E_ALL 的一部分)





function customError($errno,$errstr){ echo "Error:[$errno] $errstr
"; echo "Ending Script"; die(); }
当上述错误被触发时,它会取得错误级别和错误消息。然后它会输出错误级别和消息,并终止脚本。现在,已经创建了一个错误处理函数,我们需要确定在何时触发该函数。
Set Error Handler: php的默认错误处理程序是内奸的错误处理程序。可以修改错误处理程序,使其仅应用到某些错误,这样脚本就可以不同的方式来处理不同的错误。
本例中,我们打算针对所有错误来使用我们的自定义错误处理程序。
set_error_handle(“customError”); 当处理所有错误时,set_error_handler()仅需要一个参数,可以添加第二个参数来规定错误级别。
触发错误: 当用户的输入无效时触发错误。由trigger_error()完成。 $test=2; if($test>1){ trigger_error("Value must be 1 or below");//大于1时触发错误 }
可能的错误类型: E_USER_ERROR: E_USER_WARNING: E_USER_NOTICE:






























관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!