我正在开发一个计算某些价值的内部网站。 我需要向用户显示使用简单消息而不是PHP错误从计算中消失的错误。 我也在研究在PHP中抛出异常 在这种情况下,这是重新抛出异常的好方法吗?
答案 0 :(得分:1)
是的,这是可能的,这是一个好方法。
<?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”块中捕获,它将在“更高级别”上搜索一个catch块。