|
| pear og set-error-handler Fra : Michael Rasmussen |
Dato : 04-04-04 11:25 |
|
Hej alle,
Forleden foreslog Jonas, at benytte pear error-handling funktion, og det
virker for så vidt også. Dog er der en ting, jeg ikke kan få til at
virke: Hvordan får man skrevet fil og linje ud i fejlmeddelelsen? På
php.dk er der eksempler på, at man skal have fire parametre i sin
errorhandler, men det vil bare ikke virke! Typen og meddelelsen kommer
frem, men altså ikke filnavnet og linjen.
Udpluk af koden:
#main include
<?php
$errorHandler = &new IO;
set_error_handler(array(&$errorHandler,'error'));
?>
#main include end
#utility class
<?php
class IO {
function IO() {
return $this;
}
function error($type, $message, $errfile, $errline) {
if (!is_object($this))
$this = &new IO;
$path = '../';
if ($dh = opendir(getcwd())) {
while (false !== ($file = readdir($dh))) {
if ($file == 'classes.php') {
$path = '';
break;
}
}
}
$mes = $this->header($path);
$mes .= '<div class="error">
<h1>'._('Appplication error').'</h1>
<p>'._('The error message is:').'</p>
<p>'.$message.'</p>
<p>File: '.$errfile.'</p>
<p>Line: '.$errline.'</p>
<p>'._('The program will now terminate').'.<br /><br />
<span class="disclaim">'._('If you think this error
is a bug, please don\'t hesitate sending an error
message to the developer').'</span></p></div>';
$mes .= $this->footer();
print $mes;
exit(1);
}
}
?>
#utility end
#alle filer har dette i de to første linjer
<?php
include_once('../main-include.php');
PEAR::setErrorHandling(PEAR_ERROR_TRIGGER);
--
Hilsen/Regards
Michael Rasmussen
--------------------------------------------------------------
Don't kiss an elephant on the lips today.
| |
Ulrik Nielsen (04-04-2004)
| Kommentar Fra : Ulrik Nielsen |
Dato : 04-04-04 13:22 |
|
Michael Rasmussen wrote:
> Hej alle,
>
> Forleden foreslog Jonas, at benytte pear error-handling funktion, og det
> virker for så vidt også. Dog er der en ting, jeg ikke kan få til at
> virke: Hvordan får man skrevet fil og linje ud i fejlmeddelelsen? På
> php.dk er der eksempler på, at man skal have fire parametre i sin
> errorhandler, men det vil bare ikke virke! Typen og meddelelsen kommer
> frem, men altså ikke filnavnet og linjen.
>
> function error($type, $message, $errfile, $errline)
denne funktion skal der sendes 4 parametere til $errfile skal sikkert
være __FILE__ og $errline, __LINE__
--
>> ulrik nielsen
excuse of the day : We had to turn off that service to comply with the
: CDA Bill.
from bofh : http://www.cs.wisc.edu/~ballard/bofh/
| |
Michael Rasmussen (04-04-2004)
| Kommentar Fra : Michael Rasmussen |
Dato : 04-04-04 14:18 |
|
On Sun, 04 Apr 2004 14:22:11 +0200, Ulrik Nielsen wrote:
> > function error($type, $message, $errfile, $errline)
>
> denne funktion skal der sendes 4 parametere til $errfile skal sikkert
> være __FILE__ og $errline, __LINE__
Nu er det jo ikke mig selv, der bestemmer, hvad pear's errorhandler sender
med af parametre. Mener du, at jeg i stedet for $errfile og $errline blot
kan skrive __FILE__ og __LINE__ hvor jeg generere teksten?
--
Hilsen/Regards
Michael Rasmussen
--------------------------------------------------------------
Terminate input by end-of-file or marker, not by count.
- The Elements of Programming Style (Kernighan & Plaugher)
| |
Ulrik Nielsen (04-04-2004)
| Kommentar Fra : Ulrik Nielsen |
Dato : 04-04-04 15:36 |
|
Michael Rasmussen wrote:
> On Sun, 04 Apr 2004 14:22:11 +0200, Ulrik Nielsen wrote:
>
>
>> > function error($type, $message, $errfile, $errline)
>>
>>denne funktion skal der sendes 4 parametere til $errfile skal sikkert
>>være __FILE__ og $errline, __LINE__
>
> Nu er det jo ikke mig selv, der bestemmer, hvad pear's errorhandler sender
> med af parametre. Mener du, at jeg i stedet for $errfile og $errline blot
> kan skrive __FILE__ og __LINE__ hvor jeg generere teksten?
>
emmm, det kan godt være jeg ikke skal bevæge mig længere ud af denne
tangent, da jeg ikke selv er særlig meget inde i PEAR (endnu).
Dog skal __FILE__ go __LINE__ sendes fra det sted fejlen opstår, ellers
giver det ikke nogen mening.
--
>> ulrik nielsen
excuse of the day : Small animal kamikaze attack on power supplies
from bofh : http://www.cs.wisc.edu/~ballard/bofh/
| |
Nezar Nielsen (06-04-2004)
| Kommentar Fra : Nezar Nielsen |
Dato : 06-04-04 10:07 |
|
Michael Rasmussen wrote:
> errorhandler, men det vil bare ikke virke! Typen og meddelelsen kommer
> frem, men altså ikke filnavnet og linjen.
Under alle omstændigheder burde du kunne hive det ud via
http://dk2.php.net/debug_backtrace
--
Mvh. Nezar Nielsen
http://fez.dk
| |
|
|