I have come accross to this function below and I am wondering wether this is the right way of using the error handling of try/catch.
public function execute() { $lbReturn = false; $lsQuery = $this->msLastQuery; try { $lrResource = mysql_query($lsQuery); if(!$lrResource) { throw new MysqlException('Unable to execute query: '.$lsQuery); } else { $this->mrQueryResource = $lrResource; $lbReturn = true; } } catch(MysqlException $errorMsg) { ErrorHandler::handleException($errorMsg); } return $lbReturn; }
Codewise it is correct/works, However the power of try-catch is that when an Exception is thrown from deep down in one of the functions you’re calling.
Because of the ‘stop execution mid-function and jump all the way back to the catch block’.
In this case there are no deep-down exceptions therefore I would write it like this:
(Assuming there is a function ‘handleErrorMessage’ in the ErrorHandler.)
Which I find more readable.