传智播客 韩顺平 php从入门到精通 7999讲异常处理与进阶课堂笔记Word格式.docx
- 文档编号:15880331
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:40
- 大小:442.54KB
传智播客 韩顺平 php从入门到精通 7999讲异常处理与进阶课堂笔记Word格式.docx
《传智播客 韩顺平 php从入门到精通 7999讲异常处理与进阶课堂笔记Word格式.docx》由会员分享,可在线阅读,更多相关《传智播客 韩顺平 php从入门到精通 7999讲异常处理与进阶课堂笔记Word格式.docx(40页珍藏版)》请在冰豆网上搜索。
if(!
file_exists("
)){
echo"
文件不存在!
"
exit();
}else{
$fp=fopen("
文件打开成功"
//....关闭
fclose($fp);
}
解释了一下绝对路径和相对路径
php处理错误的三种方法
1.
使用简单的die语句
使用方法如下:
(1)
if(!
die("
文件不存在"
//打开文件操作
echo"
(2)更简单的方法
)ordie("
!
5
分钟前上传
下载附件(53.76KB)
用户自定义错误处理器
在php中对错误有不同的级别区分:
2
下载附件(48.24KB)
案例入门:
//定义了一个函数(我用于处理错误的函数)
functionmy_error($errno,$errmes){
fontsize='
5'
color='
red'
$errno<
/font>
br/>
错误信息是:
//改写set_error_handler处理器
//下面这句话的含义是:
如果出现了E_WARNING这个级别的错误,就去调用my_error函数.
set_error_handler("
my_error"
E_WARNING);
$fp=fopen("
aa.txt"
原理图:
下载附件(45.49KB)
错误触发器
需求:
有一段代码:
如果接受一个年龄,如果年龄输入>
120,我认为就是一一个错误.
//传统的方法
if($age>
120){
echo“年龄过大”;
exit();
}
//需求,输入一个薪水,如果大于10000,我认为有是错误.
if($salary>
10000){
echo“薪水多”;
1现在我们可以使用自定义错误触发器来完成!
快速入门案例:
//自定义错误函数
function
my_error3($errno,$errmes){
错误号是:
.$errno;
functionmy_error4($errno,$errmes){
出大事了"
//指定E_USER_WARNING错误级别的函数
my_error3"
E_USER_WARNING);
my_error4"
E_USER_ERROR);
$age=700;
if($age>
//调用触发器,时候同时指定错误级别.
trigger_error("
输入年龄过大1"
//exit();
原理图
php错误日志保存
保存错误日志的用处是便于,后续分析.
基本方法是使用error_log来实现.
基本用法是:
$err_info="
.$errno."
--"
.$errmes;
echo$err_info;
//把这个错误信息保存
//\r\n表示向文件输入一个回车换行
//<
表示向网页输出一个回车换行
error_log($err_info."
\r\n"
3,"
d:
/myerr.txt"
现在我们要把时间保存下来.
php中处理异常
①
基本语法
try{
//可能出现错误或是异常的代码
}catch(Exceptione){
//对异常处理
//1.自己处理
//2.自己不处理,将其抛出.
思考一个问题?
怎样可以去有效的控制多条可能出现错误或是异常的代码?
程序
//第一句话o
//...
//....
}catch(Exception$e)
{
//处理[根据处理
现在我们看看使用异常处理机制,怎样做?
//我们使用异常机制
try{
addUser("
shunping"
updateUser("
xxx"
//catch捕获
Exception是异常类(是php定义好一个类)
catch(Exception$e){
//echo"
失败信息="
.$e->
getMessage();
throw$e;
functionaddUser($username){
if($username=="
){
//添加ok
}else{
//添加error
//抛出异常.
thrownewException("
添加失败"
functionupdateUser($username){
xiaoming"
//正常修改
修改失败"
异常使用的注意事项:
通过上面的案例,我们可以看出,使用
//代码
}catch(Exception$e){
这种方式,可以更有效的控制错误.所以在开发中大量的使用.
当捕获到一个异常后,try{}块里的后续代码不继续执行.
2.
如果有一个异常发生,但是你没有catch捕获,则提示一个UncatchedException.(系统.)
3.
当catch一个异常,你可以处理,也可以不处理,不处理就可以
thrownewException(”信息”);
代码:
a2("
hello"
}catch(Exception$e){
//获取.
//echo$e->
getMesage();
//可以继续抛出,这时将会启动php默认的异常处理器来处理
//你可以自己定义一个顶级异常处理.
4.
你可以自定义异常类
classMyExceptionextendsException{
6.使用多个catch代码块可以捕获不同种类的异常
//代码....
//第一句话
//第二句话
}catch(PDOException$e){
//
|
7.也可简单使用Exception捕获
代码说明:
//定义了一个异常
classMyException1extendsException{
classMyException2extendsException{
functionA(){
thrownewMyException1("
a"
functionB(){
thrownewMyException2("
b"
)
functionC(){
A();
//抛出MyException1
B();
//抛出MyException2
}catch(Exception1$e1){
$e1->
}catch(Exception2$e2){
$e2->
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传智播客 韩顺平 php从入门到精通 7999讲异常处理与进阶课堂笔记 顺平 php 入门 精通 7999 异常 处理 进阶 课堂 笔记