在PHP中重新引发异常
我正在开发一个计算某些值的内部网站。 我需要用简单的消息而不是PHP错误向用户显示计算中的错误。 我还在学习PHP中的抛出异常在PHP中重新引发异常,php,exception,try-catch,throw,Php,Exception,Try Catch,Throw,我正在开发一个计算某些值的内部网站。 我需要用简单的消息而不是PHP错误向用户显示计算中的错误。 我还在学习PHP中的抛出异常 在这种情况下,这是重新抛出异常的好方法吗 是的,这是可能的,也是一个好方法 <?php class customException extends Exception { public function errorMessage() { //error message $errorMsg = $this->getMessag
在这种情况下,这是重新抛出异常的好方法吗 是的,这是可能的,也是一个好方法
<?php
class customException extends Exception
{
public function errorMessage()
{
//error message
$errorMsg = $this->getMessage().' is not a valid E-Mail address.';
return $errorMsg;
}
}
$email = "someone@example.com";
try
{
try
{
//check for "example" in mail address
if(strpos($email, "example") !== FALSE)
{
//throw exception if email is not valid
throw new Exception($email);
}
}
catch(Exception $e)
{
//re-throw exception
throw new customException($email);
}
}
catch (customException $e)
{
//display custom message
echo $e->errorMessage();
}
?>
示例说明:
上面的代码测试电子邮件地址中是否包含字符串“example”,如果包含,将重新引发异常:
如果异常未在其当前“try”块中捕获,它将在“更高级别”上搜索捕获块。正确的手前测试=无错误:-),当然您可以只记录它们而不显示它们。或者使用自定义错误处理程序。如果你尝试在谷歌上搜索,你可能会发现一些有价值的信息。你读了吗?只需记录你的php错误。有什么问题??这听起来有些过分——当然你应该处理异常,但你不必向最终用户展示它们。