Exception
Exception
是所有异常的基类。
<?php
try {
throw new Exception('foo', 1);
} catch (Exception $e) {
var_dump(new Exception('bar', 2, $e));
}
返回异常消息内容。
<?php
try {
throw new Exception('foo');
} catch (Exception $e) {
var_dump($e->getMessage()); // string(3) "foo"
}
返回异常链中的前一个异常。
<?php
try {
throw new Exception('foo', 1);
} catch (Exception $e) {
var_dump((new Exception('bar', 2, $e))->getPrevious());
}
返回异常代码。
<?php
try {
throw new Exception('foo', 1);
} catch (Exception $e) {
var_dump($e->getCode()); // int(1)
}
获取创建异常的程序文件名称。
<?php
try {
throw new Exception();
} catch (Exception $e) {
var_dump($e->getFile());
}
返回发生异常的代码在文件中的行号。
<?php
try {
throw new Exception();
} catch (Exception $e) {
var_dump($e->getLine()); // int(6)
}
以数组类型返回异常追踪信息。
<?php
/**
* Throwing an exception.
*
* @param void
* @return void
*/
function foo()
{
throw new Exception();
}
try {
foo();
} catch (Exception $e) {
var_dump($e->getTrace());
}
以字符串类型返回异常追踪信息。
<?php
/**
* Throwing an exception.
*
* @param void
* @return void
*/
function foo()
{
throw new Exception();
}
try {
foo();
} catch (Exception $e) {
var_dump($e->getTraceAsString());
}
返回转换为字符串类型的异常。
<?php
/**
* Throwing an exception.
*
* @param void
* @return void
*/
function foo()
{
throw new Exception();
}
try {
foo();
} catch (Exception $e) {
echo $e;
}
尝试克隆异常,这将导致一个致命错误。
<?php
$foo = new Exception();
$bar = clone $foo;
// PHP Fatal error: Uncaught Error: Trying to clone an uncloneable object of class Exception.