Posts

Showing posts from October, 2011

Throw your own - Custom Exceptions

The key to understanding custom exception concept lies in knowing how to catch them. You have to know syntax, and you have to know how to use it. First, the syntax itself try {} catch (CustomException $e) {} catch (OtherException $e) {} catch (Exception $e) {} Basicaly it looks like an switch/case statement. The above code could be written as the next one, and all will be valid and will work perfectly. The try catch syntax is actually automatically handled multiple if statement! try {} catch (Exception $e) { if ($e instanceof CustomException) {} else if ($e instanceof OtherException) {} else {} } Throw your own Note that by distinguishing exceptions you can decide which are the fatal errors and which exceptions are only passing you an information that something is wrong and it is a handled case. This means that you have to use Exceptions not only on critical situations. Throw them for your handled situations too. class MyAuthException extends Exception {} class MyTest { pri