Php 异常和错误之间的区别?
错误和异常之间有什么区别 我在网上和几本书中阅读了大量的资源,但是提供的解释不是很透彻。因此,我仍然感到困惑 谢谢 编辑:Php 异常和错误之间的区别?,php,exception-handling,error-handling,Php,Exception Handling,Error Handling,错误和异常之间有什么区别 我在网上和几本书中阅读了大量的资源,但是提供的解释不是很透彻。因此,我仍然感到困惑 谢谢 编辑: 看起来我问了两个问题,可能让人困惑。我想回答的主要问题是错误和异常之间的区别。因此,我对上述内容进行了编辑,以使其更加具体。谢谢大家的回答。。异常和错误适用于代码出错时。用户或多或少会输入错误的登录信息。检查用户名/密码是否正确,如果不正确,请将用户重定向回登录页面(标题(
看起来我问了两个问题,可能让人困惑。我想回答的主要问题是错误和异常之间的区别。因此,我对上述内容进行了编辑,以使其更加具体。谢谢大家的回答。。异常和错误适用于代码出错时。用户或多或少会输入错误的登录信息。检查用户名/密码是否正确,如果不正确,请将用户重定向回登录页面(
标题(
),然后如果设置了$\u GET['failed']
,则显示一条消息。那是最简单的方法
关于例外情况/错误。。。您通常应该坚持使用异常。您抛出一个异常,然后捕获它并处理它。我认为
trigger\u error
更适合在不知道如何处理catch块中的错误时将错误传播回客户端。首先,异常可以继续执行脚本。此外,trigger_error始终报告调用trigger_error的行和文件。没有“应该”或“最好”的错误处理方法
一般来说,有两种类型的错误
class InvalidLoginException extends Exception
{
protected $message = 'Login information is incorrect. Please try again.';
}
然后您就有了一系列的实现选择
try {
$user->login(); // will throw and InvalidLoginException if invalid
}
catch ( InvalidLoginException $e )
{
// display an error message
}
或者,如果您选择这样做,让异常处理程序来做。甚至可能以更灵活的方式
class ApplicationErrorException extends Exception{}
class InvalidLoginException extends ApplicationErrorException
{
protected $message = 'Login information is incorrect. Please try again.';
}
然后,在异常处理程序中
if ( $exception instanceof ApplicationErrorException )
{
// dislpay error message
}
但是异常并不是唯一的方法,而且。另一方面,您应该仅在异常情况下使用异常。无效的用户输入总是发生,应该是预期的。重复。你应该把文章的最后一行放在最上面并加粗。对于初学者来说,更重要的是了解为什么以及何时应该使用某些东西,而不仅仅是被告知如何使用。