加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 新手:抛出新异常 – 我们可以更改异常名称吗?

发布时间:2020-12-13 22:00:52 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试处理异常. 所以我有类似的东西: 如果出现不好的事情: throw new CreateContactException($codigo,$result-msg); 稍后,我会尝试,如果不好,请抓住: try { createContact();}catch(CreateContactException $e) { $error .= 'An error occurred wit
我正在尝试处理异常.

所以我有类似的东西:

如果出现不好的事情:

throw new CreateContactException($codigo,$result->msg);

稍后,我会尝试,如果不好,请抓住:

try 
{
  createContact();
}
catch(CreateContactException $e) 
{
  $error .= 'An error occurred with the code:'.$e->getCode().' and message:'.$e->getMessage();
}

1)
这会有用吗?我的意思是,这个getCode()和getMessage()与CreateContactException参数无关吗?

2)
我必须在某处创建一个扩展Exception的CreateContactException类吗?我的意思是,我们可以为我们的异常设置自定义名称而无需创建扩展类吗?

非常感谢提前,
MEM

解决方法

异常必须只是内置Exception类的子类,因此您可以创建一个新的类,如下所示:

class CreateContactException extends Exception {}

尝试将其他类作为异常抛出将导致错误.

使用不同名称的一个优点是你可以拥有多个catch块,这样你就可以捕获不同类型的异常并让其他人通过:

try {
    // do something
}
catch (CreateContactException $e) {
    // handle this
}
catch (DomainException $e) {
    // handle this
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读