Tôi có một ParentClass trong một JAR, nhưng không phải mã nguồn. Tôi đang thực hiện một SubClass, nhưng tôi cần phải xử lý một số trường hợp góc.Có thể tiếp tục thực thi Java sau khi ngoại lệ không?
class ParentClass {
void foo() {
… // lots of code 1
; // can possibly throw NullPointerException
… // lots of code 2
}
}
class SubClass extends ParentClass {
@Override
void foo() {
try {super.foo();}
catch(NullPointerException npe) {… /*handle exception*/}
finally {… /* resume lots of code 2 ? */}
}
}
Có cách nào để chạy phần //lots of code 2
sau khi xử lý ngoại lệ trong phương pháp ghi đè không? Tôi không muốn lặp lại mã, và không thể sửa đổi ParentClass.
P.S: Vấn đề NullPointerException không có trong ParentClass. Nhưng do một sự khởi tạo khác trong SubClass, vấn đề này có thể phát sinh.
Bạn không thể. Hãy thử giải quyết NPE, thay vào đó ... –
Bạn thường nên sửa NPE thay vì bắt chúng. – khelwood
"Nhưng do một sự khởi tạo khác trong SubClass, vấn đề này có thể phát sinh." Khắc phục sự kiện khác nhau trong 'SubClass'. –