Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

set_exception_handler(3) [php man page]

SET_EXCEPTION_HANDLER(3)						 1						  SET_EXCEPTION_HANDLER(3)

set_exception_handler - Sets a user-defined exception handler function

SYNOPSIS
callable set_exception_handler (callable $exception_handler) DESCRIPTION
Sets the default exception handler if an exception is not caught within a try/catch block. Execution will stop after the $exception_han- dler is called. PARAMETERS
o $exception_handler - Name of the function to be called when an uncaught exception occurs. This handler function needs to accept one parameter, which will be the exception object that was thrown. This is the handler signature: void handler (Exception $ex) NULL may be passed instead, to reset this handler to its default state. Caution Note that providing an explicit Exception type hint for the $ex parameter in your callback will cause issues with the changed exception hierarchy in PHP 7. RETURN VALUES
Returns the name of the previously defined exception handler, or NULL on error. If no previous handler was defined, NULL is also returned. CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 5.5.0 | | | | | | | Previously, if NULL was passed then this func- | | | tion returned TRUE. It returns the previous han- | | | dler since PHP 5.5.0. | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 set_exception_handler(3) example <?php function exception_handler($exception) { echo "Uncaught exception: " , $exception->getMessage(), " "; } set_exception_handler('exception_handler'); throw new Exception('Uncaught Exception'); echo "Not Executed "; ?> SEE ALSO
restore_exception_handler(3), restore_error_handler(3), error_reporting(3), information about the callback type, PHP 5 Exceptions. PHP Documentation Group SET_EXCEPTION_HANDLER(3)

Check Out this Related Man Page

PCNTL_SIGNAL(3) 							 1							   PCNTL_SIGNAL(3)

pcntl_signal - Installs a signal handler

SYNOPSIS
bool pcntl_signal (int $signo, callable|int $handler, [bool $restart_syscalls = true]) DESCRIPTION
The pcntl_signal(3) function installs a new signal handler or replaces the current signal handler for the signal indicated by $signo. PARAMETERS
o $signo - The signal number. o $handler - The signal handler. This may be either a callable, which will be invoked to handle the signal, or either of the two global con- stants SIG_IGN or SIG_DFL, which will ignore the signal or restore the default signal handler respectively. If a callable is given, it must implement the following signature: void handler (int $signo) o $signo - The signal being handled. Note Note that when you set a handler to an object method, that object's reference count is increased which makes it persist until you either change the handler to something else, or your script ends. o $restart_syscalls - Specifies whether system call restarting should be used when this signal arrives. RETURN VALUES
Returns TRUE on success or FALSE on failure. CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 4.3.0 | | | | | | | As of PHP 4.3.0 PCNTL uses ticks as the signal | | | handle callback mechanism, which is much faster | | | than the previous mechanism. This change follows | | | the same semantics as using "user ticks". You | | | must use the declare() statement to specify the | | | locations in your program where callbacks are | | | allowed to occur for the signal handler to func- | | | tion properly (as used in the example below). | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 pcntl_signal(3) example <?php // tick use required as of PHP 4.3.0 declare(ticks = 1); // signal handler function function sig_handler($signo) { switch ($signo) { case SIGTERM: // handle shutdown tasks exit; break; case SIGHUP: // handle restart tasks break; case SIGUSR1: echo "Caught SIGUSR1... "; break; default: // handle all other signals } } echo "Installing signal handler... "; // setup signal handlers pcntl_signal(SIGTERM, "sig_handler"); pcntl_signal(SIGHUP, "sig_handler"); pcntl_signal(SIGUSR1, "sig_handler"); // or use an object, available as of PHP 4.3.0 // pcntl_signal(SIGUSR1, array($obj, "do_something")); echo"Generating signal SIGUSR1 to self... "; // send SIGUSR1 to current process id // posix_* functions require the posix extension posix_kill(posix_getpid(), SIGUSR1); echo "Done "; ?> NOTES
pcntl_signal(3) doesn't stack the signal handlers, but replaces them. SEE ALSO
pcntl_fork(3), pcntl_waitpid(3). PHP Documentation Group PCNTL_SIGNAL(3)
Man Page