Пусть есть код:
class A {
public void proc1() throws Exp1, Exp2 {}
}
class B extends A {
public void proc1() throws Exp1 {}
}
В этом коде метод B.proc1() перекрывает A.proc1() и одновременно уменьшает список возможных исключительных ситуаций. Как можно уменьшить список возможных исключительных ситуаций для конструкторов. То есть я хочу что-то вроде:
class A {
public A() throws Exp1, Exp2 {}
}
class B extends A {
public B() throws Exp1 {
try {
super();
catch (Exp2 e) {
// Я знаю, что сюда я в данном конкретном
// случае не попаду.
}
}
}
Здравствуйте, stalcer, Вы писали:
S>Как можно уменьшить список возможных исключительных ситуаций для конструкторов. То S>есть я хочу что-то вроде:
S>S>class A {
S> public A() throws Exp1, Exp2 {}
S>}
S>class B extends A {
S> public B() throws Exp1 {
S> try {
S> super();
S> catch (Exp2 e) {
S> // Я знаю, что сюда я в данном конкретном
S> // случае не попаду.
S> }
S> }
S>}
S>
список исключений базового класса уменьшить нельзя, т.к. конструктор базового класса всегда вызывается первым (явно или неявно)
... << RSDN@Home 1.0 beta 7a >>