Monday 14 June 2021

Php: uncaught exception handler

'set_exception_handler' function is used to catch any uncaught exceptions. Since the exception handler set by the method 'set_exception_handler' is called outside of the context where the actual error occurred, it is not possible to recover from the exception. It is mainly used to log the exception messages.

 

Step 1: Define a function that takes an exception as argument.

function my_exception_handler($e){
    echo "------------------------\n";
    echo "Uncaught exception handler\n";
    echo $e->getMessage();
    echo "\n------------------------\n";
}

 

Step 2: Set the function ‘my_exception_handler’ as uncaught exception handler.

set_exception_handler('my_exception_handler');

 

Find the below working application.

 

uncaught_exception_demo.php

#!/usr/bin/php

<?php 

function div($a, $b){
    if($b == 0){
        throw new LogicException('Division by zero');
    }
    return $a /$b;
}

function my_exception_handler($e){
    echo "------------------------\n";
    echo "Uncaught exception handler\n";
    echo $e->getMessage();
    echo "\n------------------------\n";
}

set_exception_handler('my_exception_handler');

div(10, 0);
?>

 

Output

$./uncaught_exception_demo.php 

------------------------
Uncaught exception handler
Division by zero
------------------------

 

 


Previous                                                    Next                                                    Home

No comments:

Post a Comment