Exception (예외)


사전에 프로그래머가 예상해서 처리할 수 있는 에러로 

예외 종류는 클래스 계층구조로 되어 있다 


자바에서는 예사할 수 있는 여러 가지 상황에 대비하여 

코드를 작성하게 함으로써

좀더 견고한 ( 즉, 잘 죽지않은 )프로그램을 만들 도록 유도한다 

 
예외 처리하는 방법 2가지 

방법1)  직접처리 
에러가 발생할 수 있느 부분을 try{}문으 감싸놓고 , 에러가 발생할때 처리할 내용을 catch문으로 감싸놓는다 
------------------------------------------
try{
처리문 ;
            처리문 ;
            처리문 ;
    }catch( 예외 종류 ){ 주로 메시지 출력 }
     catch( 예외 종류 ){ 주로 메시지 출력 }
     catch( 예외 종류 ){ 주로 메시지 출력 }
    finally절{}
------------------------------------------
※ finally절은 예외 발생과 상관 없이 수행 된다
  심지어 앞에 return 문이 있어도 finally절은 수행 된다 
  그러나 앞에 System.exit(0) 문이 있때는 finally절은 수행되지 않는다 

방법2)  간접처리 
----------------------------------
리턴형 메서드(인수) thows 에외종류 
{
  처리문 ;
            처리문 ;
            처리문 ;

}
----------------------------------
위의 경우는 메서드 내용을 처리하는 동안 예외가 발생하면 
메서드를 호출했던 그 곳으로 제어권을 넘긴다 

main() throws Exception 경우는 예외 가 발생하면 JVM 으로 되돌린다 


<< throw >>

ex: new Test(); 객체생성 
    throw new TestException(); // 객체생성 (예외 발생 )

[ 설명 ]
새로운 Exception를 정의하고 ,
throw 문을 이용해서 새로 정의한 Exception을 발생시킬때 사용한다

--구조---------------------------------------------------

class ExceptionTest
{
   void method() throws MyException
     {
       if(MyException발생 조건)
        {
           throw new MyException("메세지");
         }
      }
 }


class MyException extends Exception
{
    public MyException(String msg)//생성자 
     {
        super(msg);// 상위 클래스 생성자 호출 
     }
}
---------------------------------------------------

<끝>Exception (예외)


사전에 프로그래머가 예상해서 처리할 수 있는 에러로 

예외 종류는 클래스 계층구조로 되어 있다 


자바에서는 예사할 수 있는 여러 가지 상황에 대비하여 

코드를 작성하게 함으로써

좀더 견고한 ( 즉, 잘 죽지않은 )프로그램을 만들 도록 유도한다 

 
예외 처리하는 방법 2가지 

방법1)  직접처리 
에러가 발생할 수 있느 부분을 try{}문으 감싸놓고 , 에러가 발생할때 처리할 내용을 catch문으로 감싸놓는다 
------------------------------------------
try{
처리문 ;
            처리문 ;
            처리문 ;
    }catch( 예외 종류 ){ 주로 메시지 출력 }
     catch( 예외 종류 ){ 주로 메시지 출력 }
     catch( 예외 종류 ){ 주로 메시지 출력 }
    finally절{}
------------------------------------------
※ finally절은 예외 발생과 상관 없이 수행 된다
  심지어 앞에 return 문이 있어도 finally절은 수행 된다 
  그러나 앞에 System.exit(0) 문이 있때는 finally절은 수행되지 않는다 

방법2)  간접처리 
----------------------------------
리턴형 메서드(인수) thows 에외종류 
{
  처리문 ;
            처리문 ;
            처리문 ;

}
----------------------------------
위의 경우는 메서드 내용을 처리하는 동안 예외가 발생하면 
메서드를 호출했던 그 곳으로 제어권을 넘긴다 

main() throws Exception 경우는 예외 가 발생하면 JVM 으로 되돌린다 


<< throw >>

ex: new Test(); 객체생성 
    throw new TestException(); // 객체생성 (예외 발생 )

[ 설명 ]
새로운 Exception를 정의하고 ,
throw 문을 이용해서 새로 정의한 Exception을 발생시킬때 사용한다

--구조---------------------------------------------------

class ExceptionTest
{
   void method() throws MyException
     {
       if(MyException발생 조건)
        {
           throw new MyException("메세지");
         }
      }
 }


class MyException extends Exception
{
    public MyException(String msg)//생성자 
     {
        super(msg);// 상위 클래스 생성자 호출 
     }
}
---------------------------------------------------

<끝>


Posted by 홍이홍이
,