Java Exception Handling Functional Programming Vs Declarative Programming