PHP允许创建自定义异常类吗,自定义异常类

### 概述

我们需要针对不同的异常进行不同的处理, 我们就可以通过自定义的异常类 . Exception类就是所有异常的基类 . 我们只需要继承这个基类就可以了 .

Exception类只有两个方法可以进行重写:构造方法和toString方法 .

### 自定义一个异常类

~~~

class MyException extends Exception{

public function __construct($message = "", $code = 0, Throwable $previous = null)

{

parent::__construct($message, $code, $previous);

}

public function __toString()

{

$message = "

出现异常了,信息如下

";

$message .= "

" . __CLASS__ ."[". $this->code . "]:" . $this->message . "

";

return $message;

}

public function test()

{

echo "this is test";

}

public function stop()

{

die("script end...");

}

}

try{

echo "出现异常了";

throw new MyException("测试自定义异常",100);

} catch(MyException $e){

echo $e->getMessage();

echo $e;

}

~~~

结果

~~~

出现异常了测试自定义异常

出现异常了,信息如下

MyException[100]:测试自定义异常

~~~

### 进行多个catch进行捕获

还是使用上面的自定义异常类 .

~~~

try{

echo "出现异常了";

throw new MyException("测试自定义异常",100);

} catch(MyException $e){

echo $e->getMessage();

echo $e;

}catch(Exception $e){

echo $e->getMessage();//在进行多个catch的时候需要把系统的Exception放在最底下

}

~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值