Giả sử chúng ta một lớp có tên là DynamicClass
:Làm thế nào để bắt ngoại lệ MethodNotFoundException bên trong lớp học?
public class DynamicClass {
public void get(String input) {
System.out.println(input);
}
}
Bây giờ, hãy tưởng tượng tạo đối tượng sau đây DynamicClass
:
DynamicClass clazz = new DynamicClass();
clazz.getName();
clazz.getOther();
Tất nhiên, sự kêu gọi của getName
và getOther
phương pháp ném MethodNotFoundException
ngoại lệ. Tuy nhiên, tôi tò mò, có cách nào để nắm bắt ngoại lệ MethodNotFoundException
bên trong lớp DynamicClass
, tức là gọi số get("Name")
và get("Other")
thay vì ném ngoại lệ MethodNotFoundException
do gọi số getName()
và getOther()
?
Điều đó sẽ không xảy ra trong Java. Nhưng tôi nghĩ rằng việc định nghĩa một phương thức "mặc định" như vậy có thể có trong một ngôn ngữ động như Groovy: http://rosettacode.org/wiki/Respond_to_an_unknown_method_call#Groovy –
Đây không phải là một thời gian biên dịch, lỗi, thay vì là một ngoại lệ thời gian chạy . Gọi một số phương pháp không có ở đó ... !!!! Ahha, tôi không biết về Reflections như @MarounMaroun: (Vui lòng biết, tôi có thể đọc một cái gì đó mới :-) –
@nIcEcOw Sử dụng sự phản chiếu nó sẽ không là một lỗi. Mọi thứ đều năng động ở đó. – Maroun