The rescue function executes the given closure and catches any exceptions that occur during its execution. All exceptions that are caught will be sent to your exception handler; however, the request will continue processing:
return rescue(function () {
    return 
$this->method();
});
    {

        
$this->assertEquals(

            
'rescued!',

            
rescue(function () {

                throw new 
Exception;

            }, 
'rescued!')

        );



        
$this->assertEquals(
        $this->assertEquals(

            
'rescued!',

            
rescue(function () {

                throw new 
Exception;

            }, function () {

                return 
'rescued!';

            })

        );



        
$this->assertEquals(
        $this->assertEquals(

            
'no need to rescue',

            
rescue(function () {

                return 
'no need to rescue';

            }, 
'rescued!')

        );



        
$testClass = new class
        $this->assertEquals(

            
'rescued!',

            
rescue(function () use ($testClass) {

                
$testClass->test([]);

            }, 
'rescued!')

        );

    }