Java/J2ME/Exception

Материал из Java эксперт
Перейти к: навигация, поиск

Test Exception

   <source lang="java">

/*--------------------------------------------------

  • TestException.java
  • Example from the book: Core J2ME Technology
  • Copyright John W. Muchow http://www.CoreJ2ME.ru
  • You may use/modify for any non-commercial purpose
  • -------------------------------------------------*/

import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class TestException extends MIDlet implements CommandListener {

 private Display display;              // Reference to Display object for this MIDlet
 private Form fmMain;                 // A Form 
 private Command cmExit;              // A Command to exit the MIDlet
 private boolean safeToExit = false;   // Is it safe to exit the MIDlet?
 // MIDlet constructor
 public TestException()
 {
   display = Display.getDisplay(this);
   
   cmExit = new Command("Exit", Command.SCREEN, 1);
   fmMain = new Form("Test Exception");
   fmMain.addCommand(cmExit);
   fmMain.setCommandListener(this);
 }
 // Called by application manager to start the MIDlet.
 public void startApp()
 {
   display.setCurrent(fmMain);
 }
 // We are about to be placed in the Paused state
 public void pauseApp()
 {
 }
 // We are about to enter the Destroyed state
 public void destroyApp(boolean unconditional) throws MIDletStateChangeException
 {
   System.out.println("Inside destroyApp()");
   // If we do not need to unconditionally exit
   if (unconditional == false)
   {
     System.out.println("Requesting not to be shutdown");
     throw new MIDletStateChangeException("Please don"t shut me down.");
   }      
 }
 // Check to see if the Exit command was selected
 public void commandAction(Command c, Displayable s)
 {
   if (c == cmExit)
   {
     try
     {
       // Is it ok to exit?
       if (safeToExit == false)
         destroyApp(false);
       else
       {
         destroyApp(true);
         notifyDestroyed();
       }
     }
     catch (MIDletStateChangeException excep)
     {
       safeToExit = true;   // Next time, let"s exit
       System.out.println(excep.getMessage());
       System.out.println("Resuming the Active state");
     }
   }
 }

}

      </source>