#36490 [Bgs]: Constructor method name for the inherited Exception class

2006-02-22 Thread tech at vosys dot com dot br
 ID:   36490
 User updated by:  tech at vosys dot com dot br
 Reported By:  tech at vosys dot com dot br
 Status:   Bogus
 Bug Type: Scripting Engine problem
 Operating System: Linux / Windows
 PHP Version:  5.1.2
 New Comment:

Sorry, really so sorry.


Previous Comments:


[2006-02-22 21:57:27] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

The name should be __construct, not __constructor...



[2006-02-22 21:52:27] tech at vosys dot com dot br

Description:

I used the constructor method name like __constructor for an Exception
class. When I tried get a attribute value from a catch{} block this is
not returned.

When I set the constructor method name like the class name works well.

Reproduce code:
---
class Except extends Exception{// SIMPLE CLASS FOR ERROR MANAGEMENT
private $e = '';
public function __construcor($msg){ $this->e = $msg; }
public function getErrorMessage(){  return $this->e; }
}
class Test{// CLASS FOR SIMPLE TEST
public function Test($info){
try{
if ($info != 'ok'){
throw new Except('Error Simulation');
}else{
throw new Except('Positive Simulation');
}
}catch(Exception $e){
throw $e;
}
}
}
try{// ERROR SIMULATION
$objXtpo = new Test('hi');
}catch(Exception $e){
echo('Exception is: '. $e->getErrorMessage());
}

Expected result:

Exception is: Error Simulation

Actual result:
--
Exception is:





-- 
Edit this bug report at http://bugs.php.net/?id=36490&edit=1


#36490 [NEW]: Constructor method name for the inherited Exception class

2006-02-22 Thread tech at vosys dot com dot br
From: tech at vosys dot com dot br
Operating system: Linux / Windows
PHP version:  5.1.2
PHP Bug Type: Scripting Engine problem
Bug description:  Constructor method name for the inherited Exception class

Description:

I used the constructor method name like __constructor for an Exception
class. When I tried get a attribute value from a catch{} block this is not
returned.

When I set the constructor method name like the class name works well.

Reproduce code:
---
class Except extends Exception{// SIMPLE CLASS FOR ERROR MANAGEMENT
private $e = '';
public function __construcor($msg){ $this->e = $msg; }
public function getErrorMessage(){  return $this->e; }
}
class Test{// CLASS FOR SIMPLE TEST
public function Test($info){
try{
if ($info != 'ok'){
throw new Except('Error Simulation');
}else{
throw new Except('Positive Simulation');
}
}catch(Exception $e){
throw $e;
}
}
}
try{// ERROR SIMULATION
$objXtpo = new Test('hi');
}catch(Exception $e){
echo('Exception is: '. $e->getErrorMessage());
}

Expected result:

Exception is: Error Simulation

Actual result:
--
Exception is:

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