Contourner le System.exit(0)

Contourner le System.exit(0) - Java - Programmation

Marsh Posté le 26-06-2002 à 12:01:28    

Euh... je vais encore faire chie tout le monde avec une question à deux balles mais je tente quand même car finalement espérer qu'il y'ait solution à ce problème c un peu comme croire en dieu...
 
Est ce que je peux faire en sorte que le "system.exit()" soit désactivé? Exemple je lance une méthode dans un package et un crétin sans nom (et sans raison) a foutu un system.exit(0) à la fin de sa méthode!? mais moi après avoir fait appel à cette méthode je voudrais continuer mon prog... qq à une idée autre que de modifier le package (made in IBM)

Reply

Marsh Posté le 26-06-2002 à 12:01:28   

Reply

Marsh Posté le 26-06-2002 à 12:05:36    

nan


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-06-2002 à 12:39:47    

Ant-103 a écrit a écrit :

Euh... je vais encore faire chie tout le monde avec une question à deux balles mais je tente quand même car finalement espérer qu'il y'ait solution à ce problème c un peu comme croire en dieu...
 
Est ce que je peux faire en sorte que le "system.exit()" soit désactivé? Exemple je lance une méthode dans un package et un crétin sans nom (et sans raison) a foutu un system.exit(0) à la fin de sa méthode!? mais moi après avoir fait appel à cette méthode je voudrais continuer mon prog... qq à une idée autre que de modifier le package (made in IBM)




decompilation powwa :sol:

Reply

Marsh Posté le 26-06-2002 à 13:01:53    

veryfree a écrit a écrit :

 
decompilation powwa :sol:  




 
spabien ca   :non:


Message édité par HappyHarry le 26-06-2002 à 13:03:51
Reply

Marsh Posté le 26-06-2002 à 13:02:43    

HappyHarry a écrit a écrit :

 
 
spabien ca  [:seb31 spabien]  




 
qu est ce qui est arrivé a ton smiley ?

Reply

Marsh Posté le 26-06-2002 à 13:03:06    

on dirait un pot de moutarde comme ca

Reply

Marsh Posté le 26-06-2002 à 13:04:16    

veryfree a écrit a écrit :

on dirait un pot de moutarde comme ca
 




 
qu'est ce qu'il a mon smiley ?  :D

Reply

Marsh Posté le 26-06-2002 à 13:47:07    

mais c pas mal la décompilation ;) c juste rigolo

Reply

Marsh Posté le 14-06-2010 à 17:11:04    

ant-103 a écrit :

Euh... je vais encore faire chie tout le monde avec une question à deux balles mais je tente quand même car finalement espérer qu'il y'ait solution à ce problème c un peu comme croire en dieu...
 
Est ce que je peux faire en sorte que le "system.exit()" soit désactivé? Exemple je lance une méthode dans un package et un crétin sans nom (et sans raison) a foutu un system.exit(0) à la fin de sa méthode!? mais moi après avoir fait appel à cette méthode je voudrais continuer mon prog... qq à une idée autre que de modifier le package (made in IBM)


 
 
La solution.
L'idée c'est de catcher l'événement, et de remonter une exception. (Même 8 ans après ça peut servir ;) )
 

Code :
  1. public class Test {
  2.   public static void main(String args[]) {
  3.   
  4.    //Catcher les system.exit
  5.    final SecurityManager securityManager = new SecurityManager() {
  6.     public void checkPermission(java.security.Permission permission) {
  7.      if (permission.getName().startsWith("exitVM" )) {
  8.       throw new SecurityException("System.exit attempted and blocked." );
  9.      }
  10.     }
  11.    };
  12.    System.setSecurityManager(securityManager);
  13.   
  14.   
  15.    try {
  16.     System.out.println("Demande de system exit" );
  17.     System.exit(0);
  18.    } catch (SecurityException e) {
  19.     System.out.println("System exit detecté !" );
  20.    }
  21.    System.out.println("System exit détourné !" );
  22.   
  23.   }
  24. }


Message édité par Jackeror le 14-06-2010 à 17:12:39
Reply

Marsh Posté le 14-06-2010 à 17:13:04    

felicitation, tu viens de gagner une pelle d'or pour ce déterrage :o
 
(mais j'apprecie le snippet quand meme :o)


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed