如何对mysql抛出异常(php)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对mysql抛出异常(php)相关的知识,希望对你有一定的参考价值。

DB::query("SELECT count(*) FROM pre_111 WHERE fid = $fid"
有时候$fid值会获取不到,总是出现数据库查询错误,请问下怎么能屏蔽这种错误,让程序正常运行下去呢?(一定要屏蔽这种错误!)
最后能在我源代码基础上改下!新手互喷

直接使用try...catch....结构。比如:
try

DB::query("SELECT count(*) FROM pre_111 WHERE fid = $fid";

catch(exception $ex)

echo($ex->getMessage());

参考技术A 那是因为$fid为空的时候,sql语法错误

PHP 异常处理 总出现致命错误 无法捕获异常

<?php
//创建可抛出一个异常的函数
function checkNum($number)

if($number>1)

throw new Exception("Value must be 1 or below");

return true;


//在 "try" 代码块中触发异常
try

checkNum(2);
//If the exception is thrown, this text will not be shown
echo 'If you see this, the number is 1 or below';


//捕获异常
catch(Exception $e)

echo 'Message: ' .$e->getMessage();

?>
上面代码将获得类似这样一个错误:

Message: Value must be 1 or below

但浏览器出现的是
Fatal error: Uncaught exception 'Exception' with message 'Value must be 1 or below' in D:\webserver\wwwroot\sturn\html\cs.php:7 Stack trace: #0 D:\webserver\wwwroot\sturn\html\cs.php(15): checkNum(2) #1 main thrown in D:\webserver\wwwroot\sturn\html\cs.php on line 7

请问这是什么原因呢 用其他的测试也同样是 致命错误啊
我的是PHP5啊 我反射API 可以看到Exception类啊 你的 正常显示吗?

我做了一个试验 证明了我的PHP中 代码里面有无catch出现的结果都是一样的 也就是说catch没有作用 这该如何解决

没有错啊?
上一个可以显示,下一个你可能重写了Exception,也应该没错。
难道你的PHP不支持异常?
Uncaught exception 'Exception' ,有这个,没道理啊?
参考技术A 看看再说

以上是关于如何对mysql抛出异常(php)的主要内容,如果未能解决你的问题,请参考以下文章

如何在mysql数据库连接中使用抛出异常[重复]

如何Mysql触发器中抛出一个异常

Java:抛出异常后如何终止执行后面的代码?

Java:抛出异常后如何终止执行后面的代码?

JAVA如何抛出异常

从Java向MySQL添加数据抛出异常