Eu sei que não é adquado colocar o erro mais ''generico'' primeiro, já que se vc quer descobrir o erro, colocando a Exception que é a mais generica e abrangente primeiro vc não vai saber o que está sendo barrado, Mas por que isso é um ERRO de compilação e não um mal habito de um codigo? o Codigo não vai rodar se eu colocar assim?