php 异常处理类

PHP具有很多异常处理类,其中Exception是所有异常处理的基类。

Exception具有几个基本属性与方法,其中包括了:

message 异常消息内容
code 异常代码
file 抛出异常的文件名
line 抛出异常在该文件的行数

其中常用的方法有:

getTrace 获取异常追踪信息
getTraceAsString 获取异常追踪信息的字符串
getMessage 获取出错信息

如果必要的话,可以通过继承Exception类来建立自定义的异常处理类。

//自定义的异常类,继承了PHP的异常基类Exception
class MyException extends Exception {
    function getInfo() {
        return ‘自定义错误信息‘;
    }
}

try {
    //使用异常的函数应该位于 "try"  代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
    throw new MyException(‘error‘);//这里规定如何触发异常。注意:每一个 "throw" 必须对应至少一个 "catch",当然可以对应多个"catch"
} catch(Exception $e) {//"catch" 代码块会捕获异常,并创建一个包含异常信息的对象
    echo $e->getInfo();//获取自定义的异常信息
    echo $e->getMessage();//获取继承自基类的getMessage信息
}
时间: 2024-10-10 14:47:46

php 异常处理类的相关文章

php异常处理类

<?php header('content-type:text/html;charset=UTF-8'); // 创建email异常处理类 class emailException extends exception { } // 创建pwd异常处理类 class pwdException extends exception { public function __tostring(){ return $this->getMessage().'in file:'.$this->getFi

Spring MVC自定义统一异常处理类,并且在控制台中输出错误日志

在使用SimpleMappingExceptionResolver实现统一异常处理后(参考Spring MVC的异常统一处理方法), 发现出现异常时,log4j无法在控制台输出错误日志.因此需要自定义一个继承至SimpleMappingExceptionResolver的 RrtongMappingExceptionResolver类,在RrtongMappingExceptionResolver中通过 log.error(ex.getMessage())的方式输出日志到控制台上.以下是具体的配

PHP异常处理类(文件上传提示)

知识点: 大部分时候我们的代码总有各种各样的bug,新手程序员(比如我)最经常的工作就是不停的报错和echo变量,一个好的异常处理类可以帮我们更快+更容易理解报错代码的问题,同时,异常处理还可以避免一些因为程序错误而泄露网站重要信息内容的提示(比如文件报错,会弹出根目录),此外异常处理还可以协助项目上的正则验证,文件上传提示,访问权限控制等提高项目体验的功能. 代码: <?phpheader("Content-type: text/html; charset=utf-8");/*

PHP实现的简单异常处理类示例

具体如下: <?phpheader('content-type:text/html;charset=UTF-8');// 创建email异常处理类class emailException extends exception{}// 创建pwd异常处理类class pwdException extends exception{ public function __tostring(){ return $this->getMessage().'in file:'.$this->getFile

or1200处理器的异常处理类指令介绍

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 我们在计算机体系结构的学习中知道:中断实质上包括由外部事件引起的硬中断(又称外中断)和由内部预先安排的特定指令或内部异常引起的软中断(又称内中断或异常)两大类.在OR1200处理器中将中断称之为异常(exception),硬中断是其中的一种异常,当然这只是说法的不同而已.当异常发生时,有关处理器的状态信息被存储到某些寄存器,OR1200处理器转移到事先定义好的一个地址,在那个地址中往往有异常处理例程,在其中进行异常处理,这个地址称为异常处

扩展PHP内置的异常处理类

在try代码块中,需要使用throw语句抛出一个异常对象,才能跳到转到catch代码块中执行,并在catch代码块中捕获并使用这个异常类的对象.虽然在PHP中提供的内置异常处理类Exception,已经具有非常不错的特性,但在某些情况下,可能还要扩展这个类来得到更多的功能.所以用户可以用自定义的异常处理类来扩展PHP内置的异常处理类.以下代码说明了在内置的异常处理类中,哪些属性和方法在子类中是可访问和可继承的: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

自定义PHP系统异常处理类

<?php // 自定义异常函数 set_exception_handler('handle_exception'); // 自定义错误函数 set_error_handler('handle_error'); /** * 异常处理 * * @param mixed $exception 异常对象 * @author blog.snsgou.com */ function handle_exception($exception) { Error::exceptionError($exceptio

JAVA核心技术I---JAVA基础知识(异常处理类)

一:异常分类 Throwable:所有错误的祖先. Error:系统内部错误或者资源耗尽.不用我们管 Exception: 程序有关的异常.重点关注 –RuntimeException: 程序自身的错误 • 5/0,空指针,数组越界… –非RuntimeException:外界相关的错误 • 打开一个不存在文件 • 加载一个不存在的类... (一)checked exception(IDE会直接显示出错) 非RuntimeException的Exception的子类: (编译器会辅助检查的)异常

tp5 ThinkPhp5 自定义异常处理类

在项目的开发过程中异常抛出尤为重要不仅能够做出友好提示帮助掩盖我们伟大的程序员们尴尬的瞬间,还能做到提示开发人员代码白编写的错误,下面进行自定义异常抛出类,纯属个人理解,希望大家指正 首先在框架中我们可以自定义目录结构用来做异常类的存储位置例如文件目录为以下红框中 定义目录结构后阐述一下我理解的异常类的工作流程,见名知意既然是异常抛出那么只有在代码出现问题的时候或者是逻辑出现异常的时候会进行抛出,那么我认为这就会出现两种情况, 第一种是用户传输的参数或者用户操作的流程有问题这种情况下并不是我们的