From:             kotsutsumi at xenophy dot com
Operating system: FedoraCore5
PHP version:      5.1.4
PHP Bug Type:     *General Issues
Bug description:  session_set_save_handler _write can't throw Exception.

Description:
------------
It mounts in the class. 

       session_set_save_handler(
           array($this, '_open'),
           array($this, '_close'),
           array($this, '_read'),
           array($this, '_write'),
           array($this, '_destroy'),
           array($this, '_clean')
       );

...

public function _write( $strID, &$objData ) {

   // some process.
   throw new Exception;
}

Result:
Exception thrown without a stack frame in ....

Why?
The exception is normally generated in other methods. 
ex. _read,_destroy,_clear... 

Reproduce code:
---------------
    public function _write( $strID, &$objData ) {

        try {
            $strSQL = "REPLACE INTOd sessions hogeVALUES ( ?, ?, ?  )";

            $putData = $this->objResource->prepare( $strSQL );
            $putData->bindParam( 1, $strID );
            $putData->bindParam( 2, time() );
            $putData->bindParam( 3, $objData );
            $putData->execute();
            return true;
        } catch( PDOException $e) {
            $strError = sprintf(
"ƒZƒbƒVƒ‡ƒ“ƒf[ƒ^‚̐ݒè‚ÉŽ¸”s‚µ‚Ü‚µ‚½B<br><br>%s" ,$e->getMessage() );
            throw new Exception( $strError );
        }
   }

Expected result:
----------------
Fatal error: Exception thrown without a stack frame in Unknown on line 0


-- 
Edit bug report at http://bugs.php.net/?id=37566&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=37566&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=37566&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=37566&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=37566&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=37566&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=37566&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=37566&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=37566&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=37566&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=37566&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=37566&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=37566&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=37566&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=37566&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=37566&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=37566&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=37566&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=37566&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=37566&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=37566&r=mysqlcfg

Reply via email to