错误处理及调试_教学设计.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《PHP程序设计基础教程》
教学设计
课程名称:PHP程序设计基础课程
授课年级:2014年级
授课学期:2015学年第二学期
教师姓名:陆启军
E_USER_NOTICE ] )
在上述声明中,第一个参数是错误信息内容,第二个参数是错误类别,默认为E_UESR_NOTICE。
需要注意的是,在使用trigger_error()函数触发错误之前,一定要先使用ini_set()函数让错误显示,否则使用trigger_error()函数无法触发错误。
第二课时
(如何处理错误)
如何处理错误
✧显示错误报告
在实际开发过程中,不可避免的会出现各种各样的错误,为了提高开发效率,PHP语言提供了显示错误的机制,该机制可以控制是否显示错误以及显示错误的级别等。在PHP中实现显示错误的机制有如下两种方式:•修改配置文件
通过直接配置php.ini文件来实现显示错误报告,代码如下所示:error_reporting(E_ALL & ~E_NOTICE);
display_errors = on;
上述代码中,error_reporting用于设置错误级别,display_errors用于设置是否显示错误报告。
•error_reporting()和ini_set()函数
通过PHP语言提供的error_reporting()和ini_set()函数实现显示错误报告,代码如下:
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors',1);
?>
上述代码中,ini_set()函数用来设置错误信息是否显示,error_reporting()函数用于设置错误级别。第2行表示显示除E_NOTICE之外的所有级别错误,第3行表示显示错误信息。
•die()函数
die()函数可以用来定义输出错误信息,常用于业务逻辑的错误显示,代码如下:
header('Content-Type: text/html;charset=utf-8');
$result= defined('PAI');
if(!$result){
die("PAI常量没有不存在!");
}
?>
die()函数与or运算符的配合使用,代码如下所示:
$result= defined('PAI') or die("PAI常量没有不存在!");
?>
✧记录错误日志
网站已经上线或者正在运行,错误显示出来会影响用户体验,这时就需
要将这些错误记录下来,为后期解决这些错误提供帮助。
•修改配置文件
通过直接配置php.ini配置文件,可以直接设置记录错误日志的相关信息,具体代码如下所示:
error_reporting = E_ALL
log_error = On
error_log = /tmp/php_errors.log
上述代码中,error_reporting用于设置错误级别,E_ALL用于设置是否显示所有错误,error_log用于指定日志写入的文件路径。
•error_log()函数
error_log()函数用于将错误记录到指定额日志文件中或发送电子邮件到指定地址,其函数声明如下:
bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )
上述声明中,$message表示要记录的错误信息。参数$message_type表示消息类型,该参数有两个值0或1,0表示发送到服务器地址,1表示使用mail()函数发送到指定邮件地址。$destination表示错误日志记录的位置,$extra_headers表示额外的头,当$message_type=1时才会使用。
自定义错误处理器
PHP提供了自定义错误处理器,自定义错误处理器是通过set_error_handler()函数来实现的,其函数声明如下:
mixed set_error_handler( callable $error_handler [, int $error_types = E_ALL | E_STRICT ])
上述声明中,callable表示该参数$error_handler为回调函数类型。$error_handler是必须定义的参数,表示发生错误时运行的函数。$error_types 用于指定处理错误的级别类型。
第三课时
(异常的处理)
异常的处理
在PHP中可以通过throw关键字来抛出一个异常,如果要捕获和处理异常需要try…catch代码块来完成。代码如下:
//创建可抛出一个异常的函数
function checkNum ($number){
if($number > 1){
//抛出异常
throw new Exception("Value must be 1 or below");
}
return true;
}
//可能触发异常的代码
try{
checkNum(2);
}