There are actually two problems with this code: 1) Catching Throwable. This is almost never the right thing to do. In general, if you have a catch-all clause, it should be catch-almost-all, i.e. only NonFatal(e), not any e: Throwable.

2) Why catch everything in the first place? There is only one non-ecxepctional Exception here, ConfigException.Missing, that should cause the a silent fallback to the default. Anything else (if it is non-fatal) can just bubble up or be wrapped in a SlickException with a better explanation.