아이티클래스

try/catch문

2020. 4. 2. 07:58

try/catch문

try

예외가 발생하는 위치에서 예외를 처리하기 위해서는 try/catch문을 사용한다. try블록 내에는 에러를 발생시킬수 있는 코드를 넣고 catch블록에는 예외의 처리 코드를 포함해야 한다.

 

try

{

    //예외를 발생시킬 수 있는 코드

}

catch(발생할 수 있는 예외)

{

    //발생한 예외를 처리하기 위한 코드

}

 

try블록에서는 하나 이상의 예외를 발생시킬 수 있으며 예외가 발생하게 되면  catch블록에서 해당 예외를 잡아 적절한 처리를 해주어야 한다. try블록에서 여러 개의 예외가 발생할 수 있기 때문에 이러한 예외를 각각 잡기(catch) 위해서는 여러 개의 catch블록을 사용해야 한다. 만약 예외가 발생하지 않는다면 어떠한 catch블록도 수행하지 않고 넘어가게 된다.

 

try catch

catch블록은 항상 try블록 다음에 위치해야 하며 try블록과 함께 사용되어야 한다. 또한 try블록과 catch블록 사이에는 어떠한 다른 문장이 와서는 안된다. 여러 개의 예외를 잡기 위해서는 catch블록을 여러 개 사용하면 된다. 하지만 이 때 여러 개의 catch블록을 사용할 때 예외의 상위 클래스는 다른 하위클래스의 아래에 사용되어야 한다. 그렇지 않을 경우 먼저 사용된 상위 클래스에 의해 아래의 하위클래스는 해당 예외 처리를 하지 못하게 된다.

 

try{

    //조회한값을 result라는 Hashmap에 담음

    (new)Hashmap reuslt = dsv.Select_SQL.Search;

 

    //result의 값이 null일때 Exception발생

    String A = result.get("A");   

}

catch(NullPointException e{

    System.Out.Println("reuslt is null");

}

 

try문을 중첩하여 사용할 수도 있다.

 

try{

    //...

    try{

            //...

    }

    catch(Exception1 e){

        //...

    }

}

catch(Exception2 e){

    //...

}

 

중첩 try문은 try블록 내부에 다른 try블록이 오는 것을 말한다. 내부 try블록에서 발생한 예외는 내부 catch문에 의해 처리되며 처리하지 못하는 예외는 외부 catch문에 넘겨주게 된다.

 

 

'Java' 카테고리의 다른 글

자바 예외 상황 발생시 던지세요 - java throw문  (0) 2020.04.28
잘못 사용하면 Exception 발생 시키는 형 변환(casting)  (1) 2020.04.24
예외(Exception)  (0) 2020.04.01
for문  (0) 2020.03.31
if-else문 , switch문  (0) 2020.03.31

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band