change throwable to exception in most cases