I think it's more logical to declare this exception as thrown by the method, and deal with it on a higher level. As higher as possible. See https://github.com/tpc2/qulice/wiki/mistakes#exceptions