Zikula 1.0.1
[ class tree: Zikula 1.0.1 ] [ index: Zikula 1.0.1 ] [ all elements ]

Source for file adodb-exceptions.inc.php

Documentation is available at adodb-exceptions.inc.php

  1. <?php
  2.  
  3. /**
  4.  * @version V4.97 22 Jan 2008  (c) 2000-2008 John Lim (jlim#natsoft.com.my). All rights reserved.
  5.  *  Released under both BSD license and Lesser GPL library license.
  6.  *  Whenever there is any discrepancy between the two licenses,
  7.  *  the BSD license will take precedence.
  8.  *
  9.  *  Set tabs to 4 for best viewing.
  10.  *
  11.  *  Latest version is available at http://php.weblogs.com
  12.  *
  13.  *  Exception-handling code using PHP5 exceptions (try-catch-throw).
  14.  */
  15.  
  16.  
  17. if (!defined('ADODB_ERROR_HANDLER_TYPE')) define('ADODB_ERROR_HANDLER_TYPE',E_USER_ERROR)
  18. define('ADODB_ERROR_HANDLER','adodb_throw');
  19.  
  20. class ADODB_Exception extends Exception {
  21. var $dbms;
  22. var $fn;
  23. var $sql = '';
  24. var $params = '';
  25. var $host = '';
  26. var $database = '';
  27.     
  28.     function __construct($dbms$fn$errno$errmsg$p1$p2$thisConnection)
  29.     {
  30.         switch($fn{
  31.         case 'EXECUTE':
  32.             $this->sql = $p1;
  33.             $this->params = $p2;
  34.             $s "$dbms error: [$errno$errmsg] in $fn(\"$p1\")\n";
  35.             break;
  36.     
  37.         case 'PCONNECT':
  38.         case 'CONNECT':
  39.             $user $thisConnection->user;
  40.             $s "$dbms error: [$errno$errmsg] in $fn($p1, '$user', '****', $p2)\n";
  41.             break;
  42.         default:
  43.             $s "$dbms error: [$errno$errmsg] in $fn($p1$p2)\n";
  44.             break;
  45.         }
  46.     
  47.         $this->dbms = $dbms;
  48.         if ($thisConnection{
  49.             $this->host = $thisConnection->host;
  50.             $this->database = $thisConnection->database;
  51.         }
  52.         $this->fn = $fn;
  53.         $this->msg $errmsg;
  54.                 
  55.         if (!is_numeric($errno)) $errno = -1;
  56.         parent::__construct($s,$errno);
  57.     }
  58. }
  59.  
  60. /**
  61. * Default Error Handler. This will be called with the following params
  62. *
  63. @param $dbms        the RDBMS you are connecting to
  64. @param $fn        the name of the calling function (in uppercase)
  65. @param $errno        the native error number from the database
  66. @param $errmsg    the native error msg from the database
  67. @param $p1        $fn specific parameter - see below
  68. @param $P2        $fn specific parameter - see below
  69. */
  70.  
  71. function adodb_throw($dbms$fn$errno$errmsg$p1$p2$thisConnection)
  72. {
  73. global $ADODB_EXCEPTION;
  74.     
  75.     if (error_reporting(== 0return// obey @ protocol
  76.     if (is_string($ADODB_EXCEPTION)) $errfn $ADODB_EXCEPTION;
  77.     else $errfn 'ADODB_EXCEPTION';
  78.     throw new $errfn($dbms$fn$errno$errmsg$p1$p2$thisConnection);
  79. }
  80.  
  81.  
  82. ?>

Documentation generated on Fri, 18 Jul 2008 21:39:29 +0200 by phpDocumentor 1.4.1