How to have nice Ruby exceptions