With object orientated languages came the concept of the try-catch block to better manage exceptions and application crashes, and from PHP 5 onwards, the popular web server-side scripting language too adopted this ideology.
By placing code which stands a possible chance of failing within a try block, you are alerting PHP to the fact that should it fail to correctly process that chunk of code, it needs to pass control over to the code sitting within the catch block definition and then continue running after that backup code has been executed.
To see this in action, consider the code below:
try { $error = 'Throw this error'; throw new Exception($error); echo 'Never get here'; } catch (Exception $e) { echo 'Exception caught: ', $e->getMessage(), "\n"; }
Now admittedly in the above code block we are cheating a little by forcing the script to ‘crash’ by throwing an exception, but in the usual case we’d have pretty normal code in there like opening a file perhaps. Should it execute correctly, the application would simply continue to run, but had it failed, like we’re forcing it to do in the example above, PHP passes control over the exception handler code sitting in the catch code block, this time performing a simple echo out of the trapped error message.
So in other words, a simple but powerful tool that any current era developer should be making use of in order to better ensure the stability of their scripts.
You might also enjoy:
-
Exception handling is all well and good in PHP, try/catch blocks work pretty nice for the most part, but annoyingly enough, these don't deal, or 'catch', no ...
-
If your blog features a lot of code blocks or snippets, then it might be a good idea to consider displaying them in a manner that separates the code from th ...
-
A bash script is simply put a file containing a list of commands to be executed by the bash shell (remember, there are a number of different shells availabl ...
-
If you are in the middle of running your nice and juicy, newly typed up bash script and it throws up its arms with the following error message:[: =: unary o ...
-
While working with jQuery and performing AJAX-driven gets and general content loading, have you ever come across your scripts throwing the following error? ...