One problem with this approach is the RuntimeException can be thrown from anywhere (first code to use the class).  It make it hard to deal with.