Supponiamo di avere una classe di nome DynamicClass
:Come rilevare l'eccezione MethodNotFoundException all'interno della classe?
public class DynamicClass {
public void get(String input) {
System.out.println(input);
}
}
Ora, immaginiamo la seguente creare un'istanza di DynamicClass
:
DynamicClass clazz = new DynamicClass();
clazz.getName();
clazz.getOther();
Naturalmente, la chiamata di getName
e getOther
metodi tiri MethodNotFoundException
eccezione. Tuttavia, sono curioso, c'è un modo per catturare l'eccezione MethodNotFoundException
all'interno della classe DynamicClass
, vale a dire la chiamata di get("Name")
e get("Other")
anziché lanciare l'eccezione MethodNotFoundException
a causa della chiamata di getName()
e getOther()
?
Questo non accadrà in Java. Ma penso che definire un tale metodo "predefinito" sia possibile in un linguaggio dinamico come Groovy: http://rosettacode.org/wiki/Respond_to_an_unknown_method_call#Groovy –
Non è un tempo di compilazione, errore, invece di essere un'eccezione di runtime . Chiamando un metodo che non c'è ... !!!! Ahha, non sapevo ancora di Reflections @MarounMaroun :(Felice di sapere, posso leggere qualcosa di nuovo :-) –
@nIcEcOw Utilizzando reflection non sarà un errore. Le cose sono dinamiche lì. – Maroun