php uncaught thrown,PHP异常详解
PHP的异常是什么?
PHP 5 提供了一种新的面向对象的错误处理方法。异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。
一般使用方法:
[php]
'.$this->getMessage().' is not a valid E-Mail address';
return $errorMsg;
}
}
try {
throw new myException($email);
}catch (myException $e){
echo $e->errorMessage();
}
myException类是一个自定义的异常类,必须继承Exception
Exception是一个PHP自带的内置的异常类,默认情况下会使用PHP默认的内置异常类,但是我们可以通过自定义的方式,自定义成满足自己需求的异常类。
使用自定义异常类的时候,throw new myException 抛出异常也需要抛出自定义的异常类类名
catch的时候也需要捕获自定义的异常类
如果抛出了异常而不捕获处理的话,就会发生PHP代码报错,如下:
[sql]
Fatal error: Uncaught exception 'myException' in D:\AppServ\www\cctv\trunk\index.php:12 Stack trace: #0 {main}
thrown in D:\AppServ\www\cctv\trunk\index.php on line 12
PHP默认异常类详细:
[php]
class exception
{
protected $message = 'Unknow exception'; //自定义的异常信息
protected $code = 0; //定义的异常代码
protected $file; //发生异常的PHP程序名
protected $line; //发生异常的PHP行号
//用于传递用户自定义异常信息和用户自定义异常代码的构造函数
function __construct($message=null,$code=0);
final function getMessage();
final function getCode();
final function getFile();
final function getLine();
final function getTrace(); //以数组形式返回异常传递的路线
final function getTraceAsString(); //返回格式化成字符串的getTrace函数信息
function __toString(); //可重载,用于返回可输出的字符串
}
可以看到PHP默认异常类中有很多自定义变量和方法
$e->getMessage 一般是获取错误信息
$e->getCode() 一般是获取错误码
$e->getFile() 获取错误的文件信息
$e->getLine() 获取错误行数
$e->getTrace() 异常经过的文件路径
__toString() 一般可以重载,用于返回可输出的字符串
PHP异常类的作用:
捕获异常,一般可以在MYSQL链接不上,或者业务逻辑错误的时候,抛出异常,在代码最顶端接收。
异常分析处理。可以在出异常的时候,捕获到异常的错误信息,写入日志。
可以返回友好化的提示信息,例如WEB端可以返回页面形式,也可以在AJAX端返回JSON数据格式。
原则:如果异常抛出了,就必须捕获它,否则会PHP报错。
作者:initphp
php uncaught thrown,PHP异常详解相关推荐
- Java异常详解及如何处理
来源:Java异常详解及如何处理 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言 ...
- 【疑难杂症04】EOFException异常详解
[疑难杂症04]EOFException异常详解 参考文章: (1)[疑难杂症04]EOFException异常详解 (2)https://www.cnblogs.com/yiwangzhibujia ...
- 页错误 Page Fault /缺页异常 详解
目录 1. 第一部分:如果你看得懂 1.1 页错误定义 1.2 页错误的处理 2. 第二部分:如果你看不懂上面的,请看这里 2.1. 举例子(背景) 2.1.1 进程及页映射 ...
- JAVA基础——异常详解
阅读目录 一.异常简介 二.try-catch-finally语句 三.throw和throws关键字 四.java中的异常链 五.结束语 JAVA异常与异常处理详解 回到顶部 一.异常简介 什么是异 ...
- 【Java】“异常”详解
Java异常目录: 1.异常定义 2.异常的用法 2.1捕获异常 2.2 调用栈 定义 2.3 其他一些注意事项 3.异常处理流程 4. 抛出异常 5.异常说明 6. Java 异常体系 7.自定义异 ...
- Java:如何正确地使用异常详解
概述: Java中的异常机制是一个好东西.不过好东西也要正确地使用才行,不然就会让我们错误地认识它.在错误地认识状况下,就会错误地使用.这样就成了一个恶性地循环了.这不是我们愿意看到的.不要以为我们已 ...
- php的异常详解,PHP5中的异常处理详解
〈?php class FileExistsException extends Exception{} //用于处理文件不存在异常的类 class FileOpenException extends ...
- java异常库,java中的异常详解
java中的exception关系图如图下图所示: Throwable 是Exception(异常)和Error(错误)的超类!! 两者的区别: Exception表示程序需要捕捉和处理的的异常; E ...
- java throw异常_java throw拋出异常详解
之前给大家介绍了java throws声明异常,那么和throws不一样的是throw语句用来直接拋出一个异常,后接一个可拋出的异常类对象,下面的话一起来详细的了解一下throw拋出异常吧. 下面是语 ...
最新文章
- word2vec的数据结构
- 华为P30Pro国外采用4根天线设计,为何国内却只有2根?
- 【论文阅读】A social recommender system using item asymmetric correlation
- 实验吧_NSCTF web200FALSE(代码审计)
- MongoDB 索引-9
- java+解析未知json_在Java中解析JSON时如何忽略未知属性– Jackson @JsonIgnoreProperties注释示例...
- 跨站点请求伪造_十大常见web漏洞——跨站点请求伪造(CSRF)
- 有关Canvas的一点小事—图像绘制
- Qt4_子类化QTableWidget
- 大小端判断及相互转化
- Java如何比较两个数组是否相等
- 赢在AI,人工智能技术体验
- 解决Spring Boot启动项目Tomcat不能访问80端口的问题
- JavaScript之浏览器大战
- 一直以来伴随我的一些学习习惯(part1)
- 2022年信息安全从业者书单推荐(2022.2.20更新)
- 2017杭州云栖大会参会体验
- 手把手教你怎么从微软官方下载 Windos10 正版镜像
- Auto.js 实现钉钉实时抢红包
- TCHAR与char相互转换