PHP的Exception类

news/2025/1/11 19:48:17/

简单解释

Exception是PHP的内置类,用来处理异常的基类
传送门

class Exception implements Throwable {  /** The error message */  protected $message;  /** The error code */  protected $code;  /** The filename where the error happened  */  protected $file;  /** The line where the error happened */  protected $line;  /**  * Clone the exception     * Tries to clone the Exception, which results in Fatal error.     * @link https://php.net/manual/en/exception.clone.php  * @return void  */    final private function __clone() { }  /**  * Construct the exception. Note: The message is NOT binary safe.     * @link https://php.net/manual/en/exception.construct.php  * @param string $message [optional] The Exception message to throw.  * @param int $code [optional] The Exception code.  * @param null|Throwable $previous [optional] The previous throwable used for the exception chaining.  */    #[Pure]  public function __construct($message = "", $code = 0, Throwable $previous = null) { }  /**  * Gets the Exception message     * @link https://php.net/manual/en/exception.getmessage.php  * @return string the Exception message as a string.  */    #[Pure]  final public function getMessage() { }  /**  * Gets the Exception code     * @link https://php.net/manual/en/exception.getcode.php  * @return mixed|int the exception code as integer in  * <b>Exception</b> but possibly as other type in  * <b>Exception</b> descendants (for example as  * string in <b>PDOException</b>).  */    #[Pure]  final public function getCode() { }  /**  * Gets the file in which the exception occurred     * @link https://php.net/manual/en/exception.getfile.php  * @return string the filename in which the exception was created.  */    #[Pure]  final public function getFile() { }  /**  * Gets the line in which the exception occurred     * @link https://php.net/manual/en/exception.getline.php  * @return int the line number where the exception was created.  */    #[Pure]  final public function getLine() { }  /**  * Gets the stack trace     * @link https://php.net/manual/en/exception.gettrace.php  * @return array the Exception stack trace as an array.  */    #[Pure]  final public function getTrace() { }  /**  * Returns previous Exception     * @link https://php.net/manual/en/exception.getprevious.php  * @return Exception the previous <b>Exception</b> if available  * or null otherwise.     */    #[Pure]  final public function getPrevious() { }  /**  * Gets the stack trace as a string     * @link https://php.net/manual/en/exception.gettraceasstring.php  * @return string the Exception stack trace as a string.  */    #[Pure]  final public function getTraceAsString() { }  /**  * String representation of the exception     * @link https://php.net/manual/en/exception.tostring.php  * @return string the string representation of the exception.  */    public function __toString() { }  public function __wakeup() { }  
}

我这里去看看__toString方法
https://www.php.net/manual/zh/exception.tostring.php
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

直接来命令执行:

<?php  
$a= new Exception(phpinfo());  
echo $a;```就会输出phpinfo
直接命令执行就很好。
```php
<?php  
$a= new Exception(system('whoami'));  
echo $a;``````php
<?php  
$a= new Exception(system("dir"));  
echo $a->__toString();

还挺万能东西

CTF题

还蛮多的


http://www.ppmy.cn/news/204560.html

相关文章

php中exception类,PHP Exception类

在PHP环境中&#xff0c;Exception类主要有两个作用&#xff1a; 作为其它异常类的父类。 作为错误处理的通用类。 下面&#xff0c;我们就首先了解一下Exception类的基本使用方法。 Exception成员 Exception类的构造函数定义如下&#xff1a; 这三个参数都是可选的&#xff0c…

CronExpression

CronExpression 规则 字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN-DEC , - * / 星期 1-7 或者 SUN-SAT , - * ? / L C # 年&#xff08;可选&#xff09; 留空,…

php mysql 抛出异常处理_PHP异常处理(Exception)

异常(Exception)处理用于在指定的错误发生时改变脚本的正常流程&#xff0c;是在 PHP5 中的增加的一个重要特性。异常处理是一种可扩展、易维护的错误处理统一机制&#xff0c;并提供了一种新的面向对象的错误处理方式。 在 Java、C# 及 Python 等语言中很早就提供了这种异常处…

PHP Exception异常类的使用说明

Exception类Exception类是所有异常的根类&#xff0c;我们可以继承 它来构建自己的异常类。异常类的构造函数可有两个可选的参数&#xff0c;一个 error message 用来措述异常类&#xff0c;和一个 error code。异常类有一些有用的方法我们可以使用&#xff1a;getMessage();g…

What is activeX?

一组允许软件组件与网络环境中的另一个组件交互&#xff0c;而不管创建组件所用语言的技术。微软倡导的ActiveX 网络化多媒体对象技术。 元件物件模型&#xff08;COM&#xff09;&#xff0c;也稱作ActiveX&#xff0c;是微軟對於網頁伺服器與客戶端、增益集與Office系列軟…

activeX/ocx

ocx其实是个dll文件,你只要把dll文件的后缀名改为ocx即可. 不过它是有接口的. 理论&#xff1a; http://www.ithome-cn.net/technology/delphi/de094.htm 实例&#xff1a; http://wwyyff80.blog.sohu.com/60239343.html 使用&#xff1a; http://www.360doc.com/conte…

PageHelper使用

PageHelper &#xff1a; mybatis中的分页插件 文档 &#xff1a; https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md springboot使用PageHelper <dependency><groupId>com.github.pagehelper</groupId><artifactId…

程序员需要了解的一些测试方法。

作为程序员&#xff0c;了解和应用基本的测试方法是至关重要的。下面列出了一些程序员需要了解的基本测试方法&#xff1a; 1. 单元测试&#xff1a;单元测试是针对程序中最小的可测试单元&#xff08;函数、方法、类等&#xff09;进行的测试。通过编写测试用例来验证单元的行…