자바 의 이상 한 두 가지 처리 방식

5130 단어 throws
이상 처리 방식 두 가지:
성명 던 지기 throws 성명 이 던 진 위치: 방법 성명 의 위치 에서 throws 키 워드 를 사용 하여 이상 을 던 지 는 것 입 니 다
...................................................................
public class ExceptionTest03{

    public static void main(String[] args){
    //           
    //  :java                        ,
    //java                     ?
   //java         ,  FileInputStream                throws FileNotFoundException;
        FileInputStream fis=new FileInputStream("c:/ab.txt");
        
    }
}

//         
/*
ExceptionTest03.java:16:        java.io.FileNotFoundException;                FileInputStream fis = new FileInputStream("c:/ab.txt");
*/

throws 키 워드 를 깊이 이해 하 다.
public class ExceptionTest04{
	
	public static void main(String[] args) throws FileNotFoundException{
		
		
		//m1();
		//  throws                  。
		//         。
		//   m1         ,        ,  JVM,JVM          JVM,           .
		//System.out.println("Hello World");
		
		//    
		try{
			m1();
		}catch(FileNotFoundException e){}
		
		System.out.println("Hello World");
	}
	
	public static void m1() throws FileNotFoundException{
		m2();
	}
	
	
	public static void m2() throws FileNotFoundException{
		m3();
	}
	
	
	public static void m3() throws FileNotFoundException{
		new FileInputStream("c:/ab.txt"); //FileInputStream           throws(   )
	}
	
}


/*
//           FileNotFoundException     .
//JVM        FileNotFoundException     。
//           。
//JVM               。
//  JVM        。
Exception in thread "main" java.io.FileNotFoundException: c:\ab.txt (          。)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:106)
        at java.io.FileInputStream.<init>(FileInputStream.java:66)
        at ExceptionTest04.m3(ExceptionTest04.java:31)
        at ExceptionTest04.m2(ExceptionTest04.java:26)
        at ExceptionTest04.m1(ExceptionTest04.java:21)
        at ExceptionTest04.main(ExceptionTest04.java:11)
*/

try...catch..
문법:
try{
  이상 코드 가 나타 날 수 있 습 니 다.
  }catch (이상 유형 1 변수) {
   이상 코드 처리 하기;
   }catch (이상 유형 2 변수) {
   이상 코드 처리 하기;
   }....
1. catch 구문 블록 은 여러 개 를 쓸 수 있 습 니 다.
2. 그러나 위 에서 아래로 catch 는 작은 유형 이상 부터 큰 유형 이상 까지 포착 해 야 한다.
3. try.. catch.. 에서 최대 1 개의 catch 문장 블록 을 실행 합 니 다. 실행 이 끝 난 후에 try.. catch.. 가 끝 납 니 다.
public class ExceptionTest05{
	
	public static void main(String[] args){
		
		//          ,  FileNotFoundException    .
		/*
		try{
			
			//FileNotFoundException
			FileInputStream fis = new FileInputStream("c:/ab.txt");
			
		}catch(ArithmeticException e){ //          	
		}
		*/
		
		//    
		/*
		try{
			
			//FileNotFoundException
			FileInputStream fis = new FileInputStream("c:/ab.txt");
			
		}catch(FileNotFoundException e){
			
		}
		*/
		
		
		//          
		//      IOException    .
		/*
		try{
			
			//FileNotFoundException
			FileInputStream fis = new FileInputStream("c:/ab.txt");
			
			fis.read();
			
		}catch(FileNotFoundException e){ 
			
		}
		*/
		
		
		//      
		/*
		try{
			
			//FileNotFoundException
			FileInputStream fis = new FileInputStream("c:/ab.txt");
			
			fis.read();
			
		}catch(FileNotFoundException e){ 
			
		}catch(IOException e){
		
		}
		*/
		
		
		//    .
		/*
		try{
			
			FileInputStream fis = new FileInputStream("c:/ab.txt");
			
			fis.read();
			
		}catch(IOException e){
		
		}
		*/
		
		//      
		//catch     ,        ,      。
		/*
		try{
			
			FileInputStream fis = new FileInputStream("c:/ab.txt");
			
			fis.read();
			
		}catch(IOException e){
			
		}catch(FileNotFoundException e){
		
		}
		*/
	}
	
public class ExceptionTest06{
	
	//      . 
	//IOException    
	/*
	public static void main(String[] args) throws FileNotFoundException{
		
		FileInputStream fis = new FileInputStream("abc");
		fis.read();
		
	}
	*/
	
	//  
	/*
	public static void main(String[] args) throws FileNotFoundException,IOException{
		
		FileInputStream fis = new FileInputStream("abc");
		fis.read();
		
	}
	*/
	
	//  
	/*
	public static void main(String[] args) throws IOException{
		
		FileInputStream fis = new FileInputStream("abc");
		fis.read();
		
	}
	*/
	
	
	public static void main(String[] args){
		
		try{
			
			//          FileNotFoundException     .
			//JVM       FileNotFoundException     ,            catch     e  .
			FileInputStream fis = new FileInputStream("abc");
			
			//          ,try            ,    catch      。
			System.out.println("TTTTTTT");
			
			fis.read();
			
		}catch(FileNotFoundException e){ //e              “FileNotFoundException   ”  。
			
			System.out.println("        !");
			
			//FileNotFoundException Object  toString    。
			System.out.println(e); //java.io.FileNotFoundException: abc (          。)
			
		}catch(IOException e){
			
			System.out.println("  IO  !");
			
		}
		
		
		System.out.println("ABC");
		
	}
	
}

좋은 웹페이지 즐겨찾기