基于PHP7错误处理与异常处理方法(详解)
PHP7错误处理赏罚PHP 7 改变了大大都错误的陈诉方法。差异于传统(PHP 5)的错误陈诉机制,此刻大大都错误被作为 Error 非常抛出。 这种 Error 非常可以像 Exception 非常一样被第一个匹配的 try / catch 块所捕捉。假如没有匹配的 catch 块,则挪用非常处理赏罚函数(事先通过 set_exception_handler() 注册)举办处理赏罚。 假如尚未注册非常处理赏罚函数,则凭证传统方法处理赏罚:被陈诉为一个致命错误(Fatal Error)。 Error 类并非担任自 Exception 类,以是不能用 catch (Exception e)...来捕捉Error。你可以用catch(Errore) { … },可能通过注册非常处理赏罚函数( set_exception_handler())来捕捉 Error。 Error 条理布局 扩展(extend) PHP内置的非常处理赏罚类 用户可以用自界说的非常处理赏罚类来扩展PHP内置的非常处理赏罚类。以下的代码声名白在内置的非常处理赏罚类中,哪些属性和要领在子类中是可会见和担任的。 Example #1 内置的非常处理赏罚类
假如行使自界说的类来扩展内置非常处理赏罚类,而且要从头界说结构函数的话,提议同时挪用 parent::__construct() 来搜查全部的变量是否已被赋值。当工具要输出字符串的时辰,可以重载 __toString() 并自界说输出的样式。
Note:
Exception 工具不能被复制。实行对 Exception 工具复制 会导致一个 E_ERROR 级此外错误。
code}]: {$this->message}n";
}
public function customFunction() {
echo "A custom function for this type of exceptionn";
}
}
/**
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |