Salut,
Comment peut-on faire, à l'exécution, pour connaître le nom de la métode actuellement en cours d'exécution ?
Sachant qu'il n'y a pas l'api réflexion. Je pourrais déclencher une exception et examiner la stacktrace mais bon
Merci d'avance![]()
Salut,
Comment peut-on faire, à l'exécution, pour connaître le nom de la métode actuellement en cours d'exécution ?
Sachant qu'il n'y a pas l'api réflexion. Je pourrais déclencher une exception et examiner la stacktrace mais bon
Merci d'avance![]()
pourquoi tu veux connaitre le nom de la methode courrante? si tu nous explique ton probleme, peut etre il y a d autres solutions.
La reflection c'est pratique en general mais en J2me c est un le point le plus faible pour la securite des devices, c est pour ca tu ne peux pas y acceder.
Cheers,
salut,
bon je déterre peut-être un peu le topic, mais ça pourra toujours servir à d'autres :
J'utilise moi aussi une petite classe (en J2SE) faite à la main pour logger tout plein de choses.
La classe stocke chaque log, y compris la classe et le nom de la fonction dans laquelle le log a été généré.
La méthode utilisée est effectivement l'utilisation d'un Throwable (donc la classe de base pour les exceptions) et ses méthodes associées. Exemple:
J'ai un système de gestion du niveau de sévérité de chaque log, ce qui permet de filtrer ceux qu'on veut voir ou pas (exemple: en 'release', on ne va afficher que les erreurs critiques ; en développement, on va tout afficher).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Throwable t = new Throwable(); t.fillInStackTrace(); StackTraceElement e = t.getStackTrace()[2]; String className = e.getClassName(); String functionName = e.getMethodName(); String lineNumber = e.getLineNumber();
L'autre fonctionnalité est la possibilité de récupérer des informations lors d'un crash chez l'utilisateur final : si un problème survient, le programme peut proposer à l'utilisateur d'envoyer un rapport à l'auteur (moi en l'occurence) : une bête requête HTML 'POST' avec l'ensemble du log attaché, vers une page PHP de mon crû (un hébergeur gratuit suffit) et qui va stocker l'ensemble du 'log trace' dans une base de données pour que je puisse le consulter après coup.
Bonjour.
La récupération du StackTrace est trop beau pour être vrai : ça marche pas dans un environnement JavaME : la classe Exception est une version allégé de l'Exception de Java SE.
J'ai moi-même pas mal cherché à avoir le même résultat pour développer un mini-log4j-like pour déboguer mes applications ME, mais en vain.
Bonne chance.
Partager