JVM exceptions are weird: a decompiler perspective