栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

PDO try-catch在函数中的用法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PDO try-catch在函数中的用法

您的实现很好,并且可以在大多数情况下完美运行。

不必将每个查询都放在try /
catch块中,实际上,在大多数情况下,您实际上并不想这样做。这样做的原因是,如果查询生成异常,则是致命问题(例如语法错误或数据库问题)的结果,而这些并不是您每次执行查询时都要考虑的问题。

例如:

try {    $rs = $db->prepare('SELECt * FROM foo');    $rs->execute();    $foo = $rs->fetchAll();} catch (Exception $e) {    die("Oh noes! There's an error in the query!");}

这里的查询将正常工作或根本不工作。根本不起作用的情况永远不会在生产系统上发生任何规律性,因此它们不是您应在此处检查的条件。这样做实际上适得其反,因为您的用户会遇到一个永远不会改变的错误,并且您不会收到任何异常消息来提醒您该问题。

相反,只需编写以下代码:

$rs = $db->prepare('SELECt * FROM foo');$rs->execute();$foo = $rs->fetchAll();

通常,只有在查询失败时您才想执行其他操作时才想捕获并处理查询异常。例如:

// We're handling a file upload here.try {    $rs = $db->prepare('INSERT INTO files (fileID, filename) VALUES (?, ?)');    $rs->execute(array(1234, '/var/tmp/file1234.txt'));} catch (Exception $e) {    unlink('/var/tmp/file1234.txt');    throw $e;}

您将要编写一个简单的异常处理程序,该异常处理程序记录或通知您在生产环境中发生的数据库错误,并向用户显示友好的错误消息,而不是异常跟踪。有关如何执行此操作的信息,请参见http://www.php.net/set-
exception-handler



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号