If you look at the earlier posts in the FunHop series, you would notice that Exceptions are side effects. Exceptions by their very nature also break referential transparency and are context dependent. You would have got an idea about referential transparency from our earlier post. If not, it might be a good idea to review it once.
Let us consider the code sequence below
What would happen when we call this method with fetchEmployeeName(-1) ?
It would throw the exception “Exception in thread “main” java.lang.Exception: Employee not found”
Now, let us apply Referential Transparency to the above code. The new avatar of the code becomes
What would be the output of fetchEmployeeName(-1) now? It would be “John”
Clearly exceptions are not referentially transparent. They are also context dependent. As you would notice in the above example, changing the context of the exception and bringing it inside the try…
View original post 300 more words