Jump to content

ERROR cases


hackalive

Recommended Posts

http://be.php.net/manual/en/errorfunc.constants.php

 

You can only use the E_USER_* constants (NOTICE, WARNING, ERROR, DEPRECATED) You can define your own error constants but these are not usable by the built-in error handlers (unless they share the same integer value).

Link to comment
https://forums.phpfreaks.com/topic/197449-error-cases/#findComment-1036350
Share on other sites

What do you exactly want to achieve? You can also just use exception's:

 

try {
    $do->something();
} catch (ServerMadeBooBoo $e) {
    echo 'Server made BooBoo.';
    exit(0);
} catch (UserMadeBooBoo $e) {
    echo 'You made BooBoo. You bad BooBoo.';
    exit(0);
}

 

You can also go for the more complex and use a Chain-Of-Responsibility (CoR) pattern:

 

$errorHandler = new ServerMadeBooBoo(new UserMadeBooBoo());

$errorHandler->handle(MY_ERR_CBOOBOO); // Output: You made BooBoo. You bad BooBoo.

 

So what do you exactly want to achieve?

Link to comment
https://forums.phpfreaks.com/topic/197449-error-cases/#findComment-1036373
Share on other sites

okay so I have on index.php

 

function errors($errno, $errstr, $errfile, $errline)
{
    switch ($errno) {
case E_TEST_WARNING:
	echo "<b>DEPRECATED</b> [$errno] $errstr [$errfile on $errline]<br />\n";
	break;
}
    return true;
}

set_error_handler("errors");

trigger_error("IC_00_00_test",E_TEST_WARNING);

 

but this is returning

Use of undefined constant E_TEST_WARNING - assumed 'E_TEST_WARNING'

 

any ideas?

 

Link to comment
https://forums.phpfreaks.com/topic/197449-error-cases/#findComment-1036384
Share on other sites

I told you: you can NOT use custom error constants with built-in functions. You can only replicate this behavior by using your own defined functions:

 

function my_trigger_error($errstr, $errno = MY_ERR_NOTICE) {
    if (MY_ERR_NOTICE === $errno) {
        echo 'something';
        exit(0);
    }
}

//in your code somewhere:
my_trigger_error('BooBoo');

Link to comment
https://forums.phpfreaks.com/topic/197449-error-cases/#findComment-1036395
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.