억대 연봉을 위한 인간수업
Published 2023. 7. 18. 23:48
[Java] try와 catch Develop/Java
반응형

try와 catch문은 예외처리를 할 때 사용하는 구문이다.

 

예외처리?

  • 프로그램 실행 중 오류, 예외(Exception)이 발생한 경우 프로그램이 강제종료 되지 않고 정상 처리될 수 있게 하는 방법

 

try-catch-finally 예시

try{
	//예외가 발생할 수 있는 코드
}catch(Exception exception){
	//Exception이 발생했을때 처리하기 위한 코드를 입력
    //보통 예외 메세지를 출력하고 로그로 남긴다.
    //exception은 참조 변수를 의미
}catch(Exception2 exception2){
	//Exception2가 발생했을때 처리하기 위한 코드 입력
}finally{
	//예외 발생과 관계 없이 반드시 실행되는 코드를 넣는다
}

 

예제를 보면 알 수 있듯이 try에 코드를 입력하고, 예외상황에 따라 catch문이 동작한다.

예외가 발생하지 않으면 try->finally문만 실행되고, 예외 발생시 try->catch->finally 순으로 실행된다.

마치 if, if-else, else와 비슷한 느낌같다.

 

 

예외정보 메소드

예외가 발생한 정보는 getMessage()와 printStackTrace()로 확인할 수 있다.

try{
	// 실행할 코드
}catch(Exception exception){
	exception.printStackTrace(); // 예외 발생 위치와 내용 반환
    System.out.println("예외 내용 : "+exception.getMessage()); //예외 내용 반환
}finally{
	// 실행할 코드
}

 

 

예외 강제 발생

예외는 throw 키워드를 사용해 인위적으로도 발생시킬 수 있다.

try{
	throw new Exception();
}catch(Exception e){
	//예외처리할 코드 입력
}

throw new 예외 명(); 을 입력해 예외를 발생시킬 수 있다.

 

 

 

예외 던지기

예외가 발생할 가능성이 있는 메소드를 호출한 쪽으로 예외를 처리할때 throws 키워드를 사용한다.

public void test1(){
	try{
    		test2();
   	 }catch(Exception exception){
   	 	예외처리할 내용
  	  }
}	

public void test2() throws Exception{
	throw new Exception("임의로 발생한 예외");
}

 이렇게 되면 test2 메소드를 부른 test1에서 예외를 처리하게 된다.

반응형

'Develop > Java' 카테고리의 다른 글

[Java] Lock에 대해서  (0) 2023.07.19
[Java] 싱글톤 패턴 : Thread safe & DCL  (0) 2023.07.16
[Java] this. 의미  (0) 2023.06.03
[Java] Concurrent HashMap과 Concurrent List  (0) 2023.05.29
[Java] Atomic과 CAS(Compare and swap)  (0) 2023.05.29
profile

억대 연봉을 위한 인간수업

@회뜨는참치

이 글이 당신에게 조금이라도 도움이 된다면 좋겠습니다.