php学习笔记——错误异常处理及路径问题
来源:互联网 发布:淘宝网折八百 编辑:程序博客网 时间:2024/04/29 18:06
一个大的项目中有大半部分程序是用来处理错误与异常的,die()常用,
die()
die — 等同于 exit(),但还可以打印文字出来。
die("文件不存在");相当于
exit();echo "文件不存在";
异常处理:
$file = fopen("aa.txt","r");echo "ok";这样会出现问题,因为没有处理文件;所以异常处理需要对它先判断是否存在:
if(file_exists("aa.txt")){$file = fopen("aa.txt","r");echo "ok";fclose();} else{die("文件不存在");}
PHP异常处理【重点】
1、基本语法
try{
//可能出现错误或异常的代码
//catch 捕获 Exception是php已定义好的异常类
} catch(Exception $e){
//对异常处理,方法:
//1、自己处理
//2、不处理,将其再次抛出
}
2、处理处理程序应当包括:
- Try - 使用异常的函数应该位于 "try" 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
- Throw - 这里规定如何触发异常。每一个 "throw" 必须对应至少一个 "catch"
- Catch - "catch" 代码块会捕获异常,并创建一个包含异常信息的对象
让我们触发一个异常:
1 <?php 2 //创建可抛出一个异常的函数 3 function checkNum($number){ 4 if($number>1){ 5 throw new Exception("Value must be 1 or below"); 6 } 7 return true; 8 } 9 10 //在 "try" 代码块中触发异常11 try{12 checkNum(2);13 //如果异常被抛出,那么下面一行代码将不会被输出14 echo 'If you see this, the number is 1 or below';15 }catch(Exception $e){16 //捕获异常17 echo 'Message: ' .$e->getMessage();18 }19 ?>
上面代码将获得类似这样一个错误:
Message: Value must be 1 or below
例子解释:
上面的代码抛出了一个异常,并捕获了它:
- 创建 checkNum() 函数。它检测数字是否大于 1。如果是,则抛出一个异常。
- 在 "try" 代码块中调用 checkNum() 函数。
- checkNum() 函数中的异常被抛出
- "catch" 代码块接收到该异常,并创建一个包含异常信息的对象 ($e)。
- 通过从这个 exception 对象调用 $e->getMessage(),输出来自该异常的错误消息
路径问题:
绝对路径:就是文件所在的具体位置,如:
“D:/photos/1.jpg”;
相对路径:与程序所在位置有关,如:
“1.jpg”
0 0
- php学习笔记——错误异常处理及路径问题
- PHP学习笔记——错误处理
- PHP 错误及异常处理
- PHP学习笔记(五)错误和异常处理
- php学习笔记(十二)错误与异常处理
- 【转】PHP错误处理及异常处理
- PHP 错误处理及异常处理
- Java学习笔记——通过异常处理错误
- php学习笔记之php异常处理
- PHP 学习笔记(四):高级教程:Cookies,Sessions,邮件,错误处理,异常处理,过滤器
- 《php和mysql web开发》笔记——第7章 错误和异常处理
- php错误处理、异常!
- PHP 错误,异常处理
- php错误异常处理
- php错误异常处理
- PHP-异常处理Exception,及错误日志处理
- php学习笔记之PDO异常处理
- php错误及异常
- cygwin在android开发时有什么用?
- leetcode第一刷_Construct Binary Tree from Preorder and Inorder Traversal
- 数据库SQL Server编程基本语法
- 从技术岗位走向管理岗位:机会是留给有准备的人
- struts2之值栈ValueStack
- php学习笔记——错误异常处理及路径问题
- Tomcat一点一滴之(三)整合Apache、Nginx
- iOS代码版本控制
- Oracle-第十三讲,,树状结构的存储于展示
- 血与泪的教训:牢记修电脑军规20 条
- unity3d 学习笔记___虚拟轴、鼠标事件、双击事件的应用处理
- stm32 两种乘法指令
- 日期和时间的转换
- 微信公众号在文本消息中嵌入超链接错误形式