Boa noite,
Peguei essa questão no Whizlabs.
public class AssertTest50 {
public void methodA(int i) throws AssertionError {
assert i < 1024 : "Invalid Value";
}
}
class AssertTest50Sub extends AssertTest50 {
public void methodA(int i) throws Error {
assert i < 1024 : "Invalid Value";
}
}
Não consegui entender porque isto compila, uma vez que Error é superclasse de AssertionError.
public class AssertTest50 {
public void methodA(int i) throws IOException {
assert i < 1024 : "Invalid Value";
}
}
class AssertTest50Sub extends AssertTest50 {
public void methodA(int i) throws Exception {
assert i < 1024 : "Invalid Value";
}
}
Neste exemplo não compila, uma vez que Exception é superclasse de IOException.
Alguém poderia explicar o que acontece no caso do Error?
Desde já agradeço.