Exception(예외)
-프로그램 작성시 발생하게 되는 가벼운 Error
-개발자는 반드시 예외상황을 인지하고 예외가 발생되었을 때 대비코드를 작성

-Error 가 발생하면 그 즉시 프로그램을 실행을 멈춘다.(심각하다)
-Exception이 발생하면 program은 그즉시 다음으로 넘어 갈 수 있다.
-RuntimeException, CompileException 두가지로 구분
-RuntimeException -> 실행도중 문제 발생 > 문법에는 문제가없으나 메모리를 할당받아야 알 수 있는 예외>예외를 JVM이 자동으로 잡아서 처리해준다.
-CompileException -> 컴파도중 문제 발생 > 문법에서 문제가 발생 > 바이트코드가 제대로 생성되지 않는다.>발생되는 예외를 개발자가 반드시 처리해줘야한다.

  • try ~ catch : 예외 잡기
  • throws : 예외 날림
  • throw : 예외 발생
  • 사용자 정의 예외를 제공

 Thrawable

 Error  

 AWTError

 JVM문제

 

 

 

 

 

 Excpetion 

 RuntimeException 

 NullPointException

 배열의 인덱스가 없는 것을 사용 할 때

 

 NumberFormatException

 수에 대한 예외 ( 0으로 나눌때 )

 

 ArithmeticException

 객체가 생성되지 않고 null 사용될때

 

 ArrayIndexOutOfBoundsException

 문자열이 숫자형식이 아닐때 발생한다.  

 

 

 

 

 ClassNotFoundException

 클래스가 없을때 발생

 

 

 CloneNotSupportedException

 객체복제를 하지 못할때  

    

 

 InterruptedExcept

 Thread가 interrupt 발생시킬 때 )

 

 

 IOException

 입출력에 대한 문제가 발생

   

  SQLException

 SQL문에 대한 문제가 발생

   

 


RuntimeException 개발자가 예외처리하지 않더라도 Error가 발생하지 않는 예외
나머지는 ComplieException 개발자가 반드시 예외처리를 반드시 해야하는 예외


1. 예외잡기
try{
    예외발생예상 코드
}catch(예외처리객체){
    예외발생처리코드 기술
}catch(예외처리 객체 ) {
    예외발생처리코드 기술
}....
}finally{
    예외가 발생하든 발생하지 않든 반드시 실행되어야 할 코드
}

 

 

 

2. 예외 출력( 예외를 출력하기 위한 stream )

 

 System.err.println("예외발생시 보여줄 method"); 

 예외가 발생된 이후에 출력하기 때문에 정상 출력(System.out) 보다 늦게 출력 될수 있다.

 

3.예외메시지

 getMessage(void):String

 예외의 이유만 출력

 예외처리객체명

 예외 발생 클래스와 이유 : 객체명 

 printStackTrace()

 자세한이유 

 

4.예외날림 ( throws)

- method header와 정의하여 method 내에서 발생하는 예외를 method를 호출한

  곳에서 처리하게하는 것

- method 내에서 발생하는 문제를 외부에서 알 수 있다.

- throws로 날리는 예외는 Method 안에서 처리할 필요 없다.

 

정의 ) 접근지정자 반환형 메소드명(매개변수...) throws 예외처리클래스명......{

└> 일을 구분하여 정리

}

 

 

 

 







블로그 이미지

이든Kim

,