php - 捕获后如何访问 PDOException
问题描述
在下面的代码中,“$e”得到“getMessage()”。我知道我可以使用“catch {}”将其打印到屏幕上或将内容存储在变量中以备后用,但如果我不想这样做怎么办?我以后如何访问它?我看到有“getPrevious()”,但是我以后如何从另一个函数访问它,或者我可以吗?:
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
我已经尝试过以下类似的方法来查看是否可以访问信息,但我无法获得正确的语法?:
function ShowLater(){
// Cant figure out how to access the info :(
echo PDO::PDOExeption,$e->getMessage();
echo PDO::PDOExeption,$e->getPrevious();
}
ShowLater();
基本上,我如何访问将显示的内容
echo "Connection failed: " . $e->getMessage();
稍后在“catch {}”之外
我会回显什么变量?
解决方案
可以在 $conn 变量中找到连接,当 try{} 块中出现错误时 PHP 会停止代码执行,然后跳转到 catch{} 块,这意味着您可以通过打印来报告 catch 块中发生的事情$e->getMessage() 中的错误描述
推荐阅读
- angular - 角材料 - 表格 - 改变列宽
- javascript - Laravel 5.4 $request->file() 返回 null
- c - 如何通过由 + 分隔的命令行参数连接字符串?
- windows - 未找到 opencv_world420.dll。重新安装程序可能会修复此错误
- javascript - 无法访问对象
- python - Python,安全地存储root密码
- c++ - 在无向和未加权图中找到每对节点之间的最短路径的最佳方法是什么?
- html - HTML 链接不会改变它们的宽度
- python - 错误 pd.pivot “MultiIndex.name 必须是可散列类型”
- macos - 在 macOS 上使用 pyodbc、FreeTDS 和 Kerberos 身份验证连接到 SQL Server