In previous versions of java, rethrowing an exception was treated as throwing the type of the catch parameter.
For example:
public static void test()
Without the final it is still valid java. You just lose the benefit of it being 'precise'.