Which might mean something if there were any code in the finally block. Since there isn't, it seems a poor example to discuss.
Also, "be the compiler" has nothing to do with this. The compiler has no idea what "System.exit()" does - it just knows it's a method that can be called with the appropriate bytecode. It's the JVM that determines, at runtime, that System.exit() results in shutting down without executing finally.