当前位置: 首页 > 知识库问答 >
问题:

为什么PHP不捕捉MySQL错误?[副本]

巩镜
2023-03-14

我有以下代码:

$db = new mysqli('localhost', 'xxx', 'xxx', 'dbname');

if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

    try 
    {
       $db->begin_transaction();
       $db->query($q_insert_custom);
       $db->commit();
       $error_message = '';
    }
    catch (Exception $e) 
    {
       $db->rollback();
       $error_message = $e->getMessage()." **** LINE: ".$e->getLine();
    }

    echo $error_message;

null

我做错了什么?当MySQL抛出有关查询的错误时,我如何捕获?

共有1个答案

孟茂
2023-03-14

查找MySQL错误的一个快速方法是检查 error/code>中是否有消息。然后,如果需要,您可以抛出它 error)/code>。

 类似资料:
  • 我定义了一个自定义错误处理程序,它捕获所有异常并将其保存到日志中。现在,如果我在mysqli查询中出现语法错误,例如打字错误,页面将完全停止加载。没有引发异常,因此不会触发错误处理程序,也不会记录任何内容。 这正常吗?我是否应该检查PHP设置来修复此问题,以便任何mysqli查询错误都会引发异常? (如果查询返回0个结果,我不希望引发异常-仅当它由于键入错误或查询结构中的其他错误而出错时) 查询示

  • 问题内容: 我听说捕捞被认为是不好的作法。我当前正在加载一个不能保证在PATH上的.dll,并希望在不存在的情况下切换到用户配置的位置。 有更好的方法吗?还是在这里接受是可以接受的? 问题答案: 除了提供有关如何从技术上解决问题的建议以外,我想花点时间解释一下为什么它首先被认为是“不好的做法”。 让我们从澄清什么是类开始。 在Java中,将引发错误和异常(它们是主要类型)。通过使用关键字可以完成上

  • 我正在开发一个django应用程序,它可以与几个Amazon Web服务进行通信。 到目前为止,我在处理和捕获boto3客户端抛出的异常方面遇到了困难。我正在做的事情似乎不必要地单调乏味: 例子: 如果令牌坏了,这可能会抛出一个。 可能会抛出一个。 首先,我在代码中的任何地方都找不到这些错误,所以它们可能是在某个地方生成的。一句话:我不能像往常一样导入和捕获它。 其次,我发现了一种方法来捕获错误这

  • 问题内容: 我在让Chai的node.js应用程序进行测试时遇到问题。测试会不断导致抛出的错误,但是如果我将测试用例包装在try和catch中并断言所捕获的错误,它将起作用。 难道不喜欢的工作,我认为它应该还是什么? 失败: 问题答案: 您必须将一个函数传递给。像这样: 执行此操作的方式将传递给call的结果。但是要测试是否抛出了某些东西,您必须将一个函数传递给,该函数会自行调用。上面使用的方法创

  • 我的数据服务如下所示: 如果我得到一个HTTP错误(即404),我会从core得到一条令人讨厌的控制台消息:error error:Uncaught(promise):[object]。es5。在我的情况下,我该如何处理?

  • 我在Quarkus(1.8.1)服务中有一个Rest客户机,定义如下: 我在同一个包中实现了,如下所示: 当我调用服务时,它当前返回一个404错误,我希望调用类中的代码。但是,它没有,而是抛出。堆栈跟踪包括对的调用。好像我的映射器还没有注册。 对于来自服务调用的无效响应,我如何注册我的处理程序?