Я не понимаю преимуществ наличия связанного исключения в коде.
Учитывая пример ResourceLoader из java-мира, если программист знает о возможности встретить ResourceLoadException, почему бы не поймать одно и то же исключение вместо SQLException? Else, программист может уловить оба исключения в том же коде, чем бросать новый экземпляр Throwable?