Using program exceptions as a learning tool: When I’m learning something new, I sometimes find myself practicing EDD (exception driven development).
I try to evaluate some code, get an exception or error message, and then Google the error message to figure out what the heck happened.
From Mastering Clojure Macros.