Php 捕获一个异常就足够了吗

Php 捕获一个异常就足够了吗,php,mysql,exception,pdo,Php,Mysql,Exception,Pdo,我希望这个问题不傻。如果是这样的话,我很乐意得到一个解释 我希望正确处理违反约束的情况 在SQL语句周围加上try&catch是否足以捕获PDO异常,以防出现约束冲突,如双主键条目,或者我需要在INSERT语句之前检查主键列吗?我不确定,但我想我曾经在INSERT语句周围看到过带有try catch的代码。当我在插入前用支票替换它时,性能下降了。你可以比较两种情况。这也是我担心的,我不认为会有什么不同,因为我现在几乎没有任何数据。我只是想知道人们是否这样做,或者我是否做了错事PDO异常有很多不同

我希望这个问题不傻。如果是这样的话,我很乐意得到一个解释

我希望正确处理违反约束的情况


在SQL语句周围加上try&catch是否足以捕获PDO异常,以防出现约束冲突,如双主键条目,或者我需要在INSERT语句之前检查主键列吗?

我不确定,但我想我曾经在INSERT语句周围看到过带有try catch的代码。当我在插入前用支票替换它时,性能下降了。你可以比较两种情况。这也是我担心的,我不认为会有什么不同,因为我现在几乎没有任何数据。我只是想知道人们是否这样做,或者我是否做了错事PDO异常有很多不同的原因-其中一些是可恢复的,一些是可忽略的,其他可能是需要了解的关键-所以这将在一定程度上取决于您在catch块中做了什么。@php_n00b如果您希望它什么都不做,使用插入忽略。如果您想让它做些什么,请在重复密钥更新时使用
。除非您锁定表以进行写入,或者设法在单个语句中运行所有内容,否则先检查PK并不保证插入时它不存在。但确定PDO异常(甚至密钥冲突)的确切来源并非易事。假设它们只是两种不同的工具。