Finally block gets executed after try-catch block, no matter what. So you should never return anything or throw exceptions from finally block. otherwise it will consume all your previous code and return the value from finally block. Let's see this in a simple program.