在PHP中使用odbc_exec时使用try-Catch语句的意外行为

原学程将引见在PHP中应用odbc_exec时应用try-Catch语句的不测行动的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

在PHP中使用odbc_exec时使用try-Catch语句的意外行为 教程 第1张

成绩描写

在earlier question中,我获得的修议是在ODBC_CONNECT挪用上应用Try-Catch语句。佳了,说了,做了,这便是我一向在尽力做的。

测验考试应用虚伪登录信息衔接到数据库的以下代码不克不及像预期的这样任务。

<?php
  try
  {
 odbc_connect('BogusDatabase','BogusUser','BogusPassword');
  }
  catch (Exception $e)
  {
 echo "Something went wrong!";
  }
?>

我愿望输入是1个字符串,下面写着"出了成绩!"相反,我获得的是:

我应用Wampserver去运转我的PHP代码。我没有晓得这能否是成绩的1部门。

推举谜底

正如@Aurimas所说,您必需应用ERROR_HANDLER去完成此操纵。
http://php.net/manual/en/function.set-error-handler.php

此函数担任处置剧本中产生的毛病,并挪用您在每一次激发毛病时供给的函数。

1个简略的处置法式

function($errno, $errstr, $errfile, $errline ) {
 throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}

每一次在剧本中激发毛病时,它都邑扔出1个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!";
}

佳了闭于在PHP中应用odbc_exec时应用try-Catch语句的不测行动的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。