PHP 错误与异常 笔记与总结(14 )记录和发送异常信息

当发生异常时,把异常信息记录到日志文件中:

 1 <?php
 2 header(‘content-type:text/html; charset=utf-8‘);
 3 class LogException extends Exception{
 4     public function __construct($message = null, $code = 0){
 5         parent::__construct($message, $code);
 6         error_log($this->getMessage().PHP_EOL, 3, ‘D:/practise/php/Error/exceprion/testLogException.log‘);
 7     }
 8 }
 9
10 try{
11     $conn = @mysql_connect(‘localhost‘, ‘root‘, ‘root123‘);
12     if(!$conn) throw new LogException("mysql connect failed", 1);
13 }catch(LogException $e){
14     echo $e->getMessage();
15 }

这里数据库密码错误,执行文件,输出:

testLogException.log文件:

line:6 处也可以记录下异常追踪信息 $this->getTraceAsString()

时间: 2024-10-18 05:44:23

PHP 错误与异常 笔记与总结(14 )记录和发送异常信息的相关文章

PHP 错误与异常 笔记与总结(10)错误处理器测试

关联文件:myErrorHandler.php (上一篇) 先测试通知级别的错误的自定义处理: testErrorHandler.php <?php require_once 'myErrorHandler.php'; error_reporting(-1); set_error_handler(array('myErrorHandler', 'deal')); //通知级别错误 echo $notice; 运行,在 D:\practise\php\From\notice 生成 noticeLo

PHP 错误与异常 笔记与总结(16 )自定义异常处理器

可以使用自定义异常处理器来处理所有未捕获的异常(没有用 try/catch 捕获的异常). set_exception_handler():设置一个用户定义的异常处理函数,当一个未捕获的异常发生时所调用函数的名称(回调函数),该函数必须在调用 set_exception_handler() 之前已经定义.该处理函数需要接受一个参数,该参数是一个抛出的异常对象 [例] 1 <?php 2 header('content-type:text/html; charset=utf-8'); 3 head

PHP 错误与异常 笔记与总结(13 )自定义异常类

针对不同的异常,进行不同的处理,可以通过自定义异常类记录特定的异常信息来处理不同类型的异常.自定义异常类通过继承基类(Exception),对基类进行扩展. 自定义异常类 1 <?php 2 header('content-type:text/html; charset=utf-8'); 3 /* 4 自定义异常类 5 */ 6 class MyException extends Exception{ 7 //重写父类构造函数 8 public function __contruct($mess

php错误以及常用笔记

//语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 变量名建议用下划线方式分隔 // $var_name 函数名建议用驼峰命名法 // varName 定界符建议全大写 // <<<DING, <<<'DING' 文件名建议全小写和下划线.数字 // func_name.php 私有属性名.方法名建议加下划线 // private

Java异常笔记整理

参考书籍:Head First Java 1.假设某方法是别人写在某个类里面的 2.而此时你根本就不知道这个方法是否有风险(比如服务器出故障会使程序受到影响): 3.那最好的方法应该就是,在调用这个类的方法时,加上可能发生异常的处理方案,未雨绸缪. 关键字:try……catch,throws,throw,finally try……catch其实就是给编译器的一个信号,表示你已经注意到了这个异常并开始着手进行应对: 编译器需要程序员try包裹住可能发生异常的代码,再通过catch去处理 Runti

异常笔记补充

异常(Throwable) 1.异常定义: 生活中的异常--有异于常态,和正常情况不太一样,有错误出现. Java中的异常--程序运行期间有可能出现的问题,阻止当前方法或作用域继续执行,即称之为异常. 2.分类: (1)错误(Error):主要包括虚拟机错误(VirtualMachineError)和线程四锁(ThreadDeath),出现后程序彻底崩溃 (2)异常(Exception):主要包括非检查异常(RuntimeException)和检查异常. 非检查异常主要包括:空指针异常(Null

Guava学习笔记:guava Throwables帮你处理异常,抛出异常

Guava学习笔记:guava Throwables帮你处理异常,抛出异常 guava类库中的Throwables提供了一些异常处理的静态方法,这些方法的从功能上分为两类,一类是帮你抛出异常,另外一类是帮你处理异常. 也许你会想:为什么要帮我们处理异常呢?我们自己不会抛出异常吗? 假定下面的方法是我们要调用的方法.     public void doSomething() throws Throwable {         //ignore method body     }     pub

Spring学习笔记——Spring事务仅仅对执行时异常回滚

我们在使用Spring时候一般都知道事务在遇到异常的时候会回滚.岂不知Spring的事务默认仅仅有在发生执行时异常即:RunTimeException时才会发生事务,假设一个方法抛出Exception或者Checked异常Spring的事务并不会回滚. 以下我们来看看异常的分类.异常一般分为Checked异常和RunTime异常. CheckedException: Java觉得Checked异常都是能够被处理的异常,所以Java程序必须显式的处理Checked异常,假设程序没有处理checke

java 检查抛出的异常是否是要捕获的检查性异常或运行时异常或错误

/** * Return whether the given throwable is a checked exception: * that is, neither a RuntimeException nor an Error. * @param ex the throwable to check * @return whether the throwable is a checked exception * @see java.lang.Exception * @see java.lang