Spe*_*osa 1 php odbc try-catch wampserver
在前面的问题中,我得到了在odbc_connect调用上使用try-catch语句的建议。好了,说完了,这就是我试图做的。
以下代码尝试使用虚假的登录信息连接到数据库,但无法正常运行。
<?php
try
{
odbc_connect('BogusDatabase','BogusUser','BogusPassword');
}
catch (Exception $e)
{
echo "Something went wrong!";
}
?>
Run Code Online (Sandbox Code Playgroud)
我希望输出是一个字符串,指出“出了点问题!”。相反,我得到这个:

我正在使用Wampserver运行我的PHP代码。我不知道这是否是问题的一部分。
正如@Aurimas所说,您必须使用error_handler来做到这一点。 http://php.net/manual/zh/function.set-error-handler.php
此函数将照顾脚本中发生的错误,并在每次引发错误时调用您提供的函数。
一个简单的处理程序是
function($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
Run Code Online (Sandbox Code Playgroud)
每次在脚本中引发错误时,都会引发ErrorException。因此,整个脚本的行为将与您期望的一样:
set_error_handler(function($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
});
try
{
odbc_connect('BogusDatabase','BogusUser','BogusPassword');
}
catch (Exception $e)
{
echo "Something went wrong!";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3896 次 |
| 最近记录: |