在switch语句中返回异常,然后抛出被调用的方法

问题描述 投票:2回答:1

我有两种方法

private String handleResponse(HttpResponse httpResponse){
        if (response.getStatusCode() / 100 == 2) {
            return response.getEntity().toString()
        } else {
            throw handleException(response.getStatusCode();
        }
    }
}
 private RuntimeException handleException(int errorStatucCode){
        switch(errorStatucCode) {
            case 400:
                return new RuntimeException("Invalid request");
            case 401:
                return new RuntimeException("User not authorized");
            default:
                return new RuntimeException("Unkown exception");
}

一切正常,但是这种方法正确吗?我的意思是从方法中的开关返回新的RuntimeException,然后抛出整个方法?某事告诉我不是,我想知道为什么以及如何改进它。

我有两种方法私有字符串handleResponse(HttpResponse httpResponse){如果(response.getStatusCode()/ 100 == 2){返回response.getEntity()。toString()}否则{...

java exception switch-statement throw
1个回答
0
投票

您可以通过以下方式使其更短,更直观:

© www.soinside.com 2019 - 2024. All rights reserved.