如何处理PHP中的异常/错误?

问题描述 投票:0回答:1
当使用第三部分库时,他们倾向于向浏览器提供例外,从而杀死脚本。

eg。如果我使用学说并将重复记录插入数据库,则会引发异常。 我想知道,处理这些例外的最佳实践是什么。

我总是尝试...捕捉?

但这并不意味着我会尝试...捕捉到整个脚本以及我使用的每个函数/类?还是只是为了调试?

我不太了解图片。

由于数据库中已经存在记录,我想告诉用户“记录已经存在”。

如果我要创建错误时,如果我代码库或函数,我应该始终使用“抛出新的expcetion($消息,$代码)”?

plaplease阐明了一个人应如何创建/处理异常/错误。 thanks

捕获这些异常的唯一方法是使用

try catch

块。或者,如果您不希望首先发生例外情况,则需要进行尽职调查,并在尝试插入记录之前检查记录是否已经存在。

如果感觉就像您在整个地方都使用了这些,那么也许您需要创建一种为您照顾这个方法的方法(不要重复自己)。

我不知道学说,但是关于您的具体用法,也许有一种方法可以确定您是否面临重复的条目,例如:

try { /* Doctrine code here */ } catch (DuplicateEntryException $e) { /* The record already exists */ } catch (Exception $e) { /* Unexpected error handling */ }
php design-patterns oop
1个回答
1
投票
或您必须检查异常代码是否等于1062,这是重复条目的MySQL错误代码。

任何可能会引发例外的代码都应在尝试/捕获块中。在PHP中很难,因为您不知道哪种方法会引发异常。
您的主PHP文件中还应该有一个很大的尝试/捕获块,避免向用户显示堆栈跟踪并记录原因。也许您可以使用
set_exception_handler

为此。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.