PHP 开发者大会日本 2024

ReflectionException 类

(PHP 5, PHP 7, PHP 8)

介绍

ReflectionException 类。

类概要

class ReflectionException extends Exception {
/* 继承的属性 */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* 继承的方法 */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
}
添加笔记

用户贡献笔记 1 条笔记

11
temirkhan.nasukhov
5 年前
请注意,即使此异常不是基于 RuntimeException,它也是未检查的。此类错误必须直接在代码中修复,而不是在情况的 catch-handle 中修复。

还要记住,IDE(我的 IDE 是 Phpstorm 2018.3.4)检查会因此突出显示它,因此不要为任何 Runtime 异常创建 phpdoc with throws。

<?php

/**
* 这种方法是错误的
*
* @throws \ReflectionException
*/
function createReflection()
{
return new
\ReflectionClass('invalid argument');
}

/**
* 这种方法是可以的(当然,我指的不是代码)
*/
function createReflection()
{
return new
\ReflectionClass('invalid argument');
}
To Top