Рефакторинг Try-catch по всей иерархии классов - PullRequest
1 голос
/ 28 марта 2019

Предположим, у вас есть этот код:

class Base {
    void method() throws Exception {
        try {
            //Lots of code here
        } catch (Exception e) {
            //handle it (very little code here)
        }
    }

class Derived extends Base {
    @Override
    void method() throws Exception {
        try {
            //Lots of code here (same code as in base class)
        } catch (Exception e) {
            //handle it (very little code here; also same as base class)
        } catch (Error e) {
            e.printStackTrace();
            System.exit(1);
        }
    }

Итак, как мы видим, методы те же, за исключением того, что у производного класса есть дополнительное предложение catch.Есть ли хороший способ получить немного меньше дублированного кода здесь?

...