The second approach is less readable. In addition Pokemon exception handling is never the way to go even though your “clever” trick is to use the instanceof keyword. I am not poking fun or mocking you in anyway, but it is best to write code for humans to read and maintain, not for the computer.