본문 바로가기
개발/Java

[Java] 예외처리 try - catch - finally

by yo.na 2023. 7. 1.

✔ 개념

예외처리를 할 때 사용하는 try - catch - finally 문

void myMethod () {
  try {
    // 시도해 볼 동작
  } catch (Exception e) {
    // 오류 발생 시
  } finally {
    // 성공 또는 실패 후 함수 종료 전
  }
}

 

✔ 사용방법

try - catch - finally 안에서 return 할 때

finally 결과 return

public class main
{
    public static void main(String[] args) {
        System.out.println("output: " + getNumber());
    }

    static int getNumber(){
        int a = 3;
        try{
            System.out.println(">>> try");
            a = 4;
            return a;
            
        } catch(Exception e){
            System.out.println(">>> catch");
            e.printStackTrace();
            a = 5;
            return a;
        } finally {
            System.out.println(">>> finally.");
            a = 6;
            return a;
        }
    }
}

 

 

try 안에서 return, finally 밖에서 return  할 때

try 결과 return

public class main
{
    public static void main(String[] args) {
        System.out.println("output: " + getNumber());
    }

    static int getNumber(){
        int a = 3;
        try{
            System.out.println("This is try");
            a = 4;
            return a;
            
        } catch(Exception e){
            System.out.println("This is catch");
            e.printStackTrace();
            a = 5;

        } finally {
            System.out.println("This is finally.");
            a = 6;
        }
        return a;
    }
}

 

try - catch - finally 밖에서 return  할 때

finally 실행 결과 return

 

public class main
{
    public static void main(String[] args) {
        System.out.println("output: " + getNumber());
    }

    static int getNumber(){
        int a = 3;
        try{
            System.out.println(">>> try");
            a = 4;
            throw new Exception("try Exception");
        } catch(Exception e){
            System.out.println(">>> catch");
            e.printStackTrace();
            a = 5;
        } finally {
            System.out.println(">>> finally.");
            a = 6;
        }
       return a;
    }
}

 

 

✔참고

https://www.yalco.kr/07_exception_handling/

'개발 > Java' 카테고리의 다른 글

[Java] BigDecimal 알아보기 double, float 과의 차이  (0) 2023.05.26