| ▲ | hu3 4 hours ago | |||||||
Nice. I guess you write logs on the "final" block of a global try/catch/final? Something like: | ||||||||
| ▲ | wesammikhail 4 hours ago | parent [-] | |||||||
I used to do it like that and it worked really well but I changed the flow to where exceptions are actually part of the control flow of the app using PHP's set_exception_handler(), set_error_handler() and register_shutdown_function(). Example, lets say a user forgot to provide a password when authenticating, then I will throw a ClientSideException(400, "need password yada yada"); That exception will bubble up to the exception_handler that logs and outputs the proper message to the screen. Similarly if ANY exception is thrown, regardless of where it originated, the same will happen. When you embrace exceptions as control flow rather than try to avoid them, suddenly everything gets 10x easier and I end up writing much less code overall. | ||||||||
| ||||||||