我正在尝试处理异常。
所以我有类似的东西:
如果发生了不好的事情:
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
答案 0 :(得分:12)
异常必须只是内置Exception
类的子类,因此您可以像这样创建一个新类:
class CreateContactException extends Exception {}
尝试将其他类作为异常抛出将导致错误。
使用不同名称的一个优点是您可以拥有多个catch
块,这样您就可以捕获不同类型的异常并让其他人通过:
try {
// do something
}
catch (CreateContactException $e) {
// handle this
}
catch (DomainException $e) {
// handle this
}