비정상적인 실제 응용

2038 단어 유난히
/**

 *   :                      

 * 

 * @author Administrator

 *

 */



class Teacher

{

	private String name;

	private Computer com;

	public Teacher(String name){

		this.name=name;

		com=new Computer();

	}

	

	public void teach() throws NoPlanException{

		try{

			com.run();

		System.out.println(name+"    ");

	   

		}catch(LanPingException e){

			System.out.println(e.toString());

			com.reset();//      

			teach();

		}

		catch(SiJiException e){

			System.out.println(e.toString());

			test();//      

			throw new NoPlanException("     ");//               

		}

	 }	

	public void test(){//    

		System.out.println("    ");

	}

}

class Computer{

	int status=(int)(Math.random()*3);//           ,0    ,1      ,2,      

	public void run()throws LanPingException,SiJiException

	{

			if(status==1){//          

				throw new LanPingException("       ");

			}

			

			if(status==2){

				throw new SiJiException("       !");

			}

			

			System.out.println("    ");

		

	}

	public void reset(){

		System.out.println("      !");

		status=0;//       

	}

}

class LanPingException extends Exception{//    

	LanPingException(String s){

		super(s);

	}

}

class SiJiException extends Exception{//       

	SiJiException(String s){

		super(s);

	}

}

class NoPlanException extends Exception{//        

	NoPlanException(String s){

		super(s);

	}

}

public class ExceptionApplication {

	public static void main(String[] args) {

		Teacher t=new Teacher("   ");

     	try{//          ,    

     		t.teach();

     	}catch(NoPlanException e){

     		System.out.println(e.toString());

     	    System.out.println("     ");

     		

     	}

	}

}


//status가 0이면
컴퓨터로 이 선생님이 수업을 시작하다
//status가 1인 경우
Lan Ping Exception: 당신의 컴퓨터가 블루스크린으로 되어 있어서 컴퓨터를 다시 시작합니다!컴퓨터로 이 선생님이 수업을 시작하다
//status가 2인 경우
SiJiException: 컴퓨터가 고장났어요!모두 쉬세요NoPlanException: 미션을 완수하지 못하면 선생님을 바꿉니다.

좋은 웹페이지 즐겨찾기