toggle menu

JAVA 정리 - Exception (예외 처리)

2012.07.27 09:29 JAVA


프로그램 실행 도중 오류로 인해 프로그램이 중단될 상황에서 중단되지 않고 예외처리 가능하다.


① 직접 처리
try
{
	//일반적인 코드
	
}

catch( ... Exception 변수 ) //예외를 처리해줄 블럭
{
	//예외 처리
}
catch( ... 또다른 Exception 변수 ) //예외를 처리해줄 블럭
{
	//예외 처리
}
catch( ... 또다른 Exception 변수 ) //예외를 처리해줄 블럭
{
	//예외 처리
}

// ★최종적으로 예상되지 못한 예외를 처리해줄 블럭
// 반드시 모든 catch의 마지막에 위치해야 한다.
catch( Exception 변수 ) 
{
	//예외 처리
}


finally
{
	//오류의 유무에 관계없이 반드시 처리/실행 해야하는 부분
	//심지어 앞에서 return이 있어도 이 부분은 무조건 실행된다! ★exit는 예외!
}

Exception 은 IOException과 RuntimeException 등으로 나뉜다.

try, catch 최소한 이 두개는 있어야 예외처리의 의미가 있다.
try, finally 만 있어도 문법적인 오류는 없지만, 오류 발생시 멈춘다. 즉 예외처리가 안된다.




② 던지는 방법
class ExceptionTest
{
	//throws는 메소드의 사용자들에게 이런 오류가 발생할 수 있음을 알려주는 역할을 한다.
	public void exceptionThrows() throws ...Exception, ...Exception, ...Exception
	{
		//오류가 발생할 수 있는 일반적인 코드
	}
	
	public void exceptionReceptor() //여기에도 throws를 넣어줄 수 있다.
	{
		//.....
		
		try
		{
			//exceptionTrhows 메소드에서 오류가 발생하면
			//호출한 exceptionReceptor에서 예외를 받아오게 받아오게 되고,
			//여기에서 처리해주게 된다.
			this.exceptionTrhows(); 
		}
		catch( Exception e )
		{
			//예외 처리
		}
		finally
		{
			//처리
		}
	}
	
	public static void main( String [] args )
	{
		//exceptionReceptor() 메소드 호출
		ExceptionTest exceptionTest = new ExceptionTest();
		exceptionTest.exceptionReceptor();
	}
}

 throws는 메소드의 사용자들에게 이런 오류가 발생할 수 있음을 알려주는 역할을 한다.
아니면 모를 수 있으니까.



③ 예외를 강제로 발생시키기

임의로 예외를 발생시키고 싶을 때 사용하는 키워드는 throw 이다.

IOException e = new IOExecption(); // 예외 생성....
throw e; // 예외 발생!

//혹은 한 문장으로..
throw new IOEXepction();







JAVA 관련 포스팅 더보기