📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법

# 예외 (15)

자바[Java] 2017. 12. 12. 00:37

[JAVA] 자바 향상된 예외 처리 - Multi Catch문

참고글[JAVA] 자바 예외 처리 방법 (Exception Handling)[JAVA] 자바에서 예외(Exception)란?멀티캐치하나의 try 블록에서 여러개의 예외가 발생하는 경우 많은 catch 블럭이 발생하게 됩니다.try{}catch(예외1 e1){ 예외1 처리 로직}catch(예외2 e2){ 예외2 처리 로직}catch(예외3 e3){ 예외3 처리 로직}그러나 이렇게 많은 catch문이 발생하면 그 안에서 중복되는 코드들이 발생할 수 있습니다.예를 들어 e.printStackTrace()를 통해 예외 정보를 출력하는 로직등이 대표적입니다.JDK1.7 부터는 이러한 불편함을 해소하기 위해 멀티캐치(multi catch)문을 제공합니다.멀티 캐치문은 다음과 같이 사용합니다. 하나의..

자바[Java] 2017. 12. 9. 08:00

[JAVA] 예외의 회피

예외의 회피예외의 회피라는 개념이 있습니다.예외가 발생할 수 있는 상황을 미리 예측하여 예외를 예방하는 것 입니다.물론 Checked 예외의 경우 예외처리를 강제하기 때문에 무조건 예외처리를 해 주어야 하지만 실행예외처럼 Unchecked 예외인 경우에는 예외를 회피할 수 있습니다.예를 들자면 다음 코드의 경우 String s를 대문자로 바꾸어 출력하는 예제입니다.NullPointerException은 Unchecked 예외이므로 컴파일 과정에서도 체크되지 않습니다.만약 이 때 if문에서 예외의 회피가 없었다면 s를 대문자로 바꾸는 과정에서는 예외가 발생하게 됩니다.String s = null;//예외를 회피하는 if구문if(s == null){ s = "empty";}System.out.print..

자바[Java] 2017. 12. 9. 00:53

[JAVA] 자바 예외 처리 방법 (Exception Handling)

예외처리란예외처리란 프로그램 실행 중 예기치 못한 상황이 발생했을 때 적절하게 조치를 취함으로써 프로그램이 수행하는 동작을 이상없이 진행하도록 하는 것입니다.우리가 개발한 프로그램이 사용자의 컴퓨터에서 실행되는 도중에는 오류가 발생해도 프로그램을 수정할 수 없기 때문에 프로그램 개발 시 미리 예외처리 코드를 작성하여 대비해야 합니다.에러와 같이 치명적인 오류는 처리하고 싶어도 처리할 수 없는 경우가 거의 대부분이기 때문에 오류 처리가 무의미하지만 예외의 경우에는 적절한 처리를 해준다면 신뢰성 있는 프로그램을 만드는 데에 큰 도움을 줄 것입니다.예외의 발생자바에서 예외가 발생했을때 어떠한 처리도 해주지 않는다면 이후 코드는 실행되지 않은 상태에서 JVM의 예외처리기까지 예외가 전달되고 예외처리기는 해당 예..

자바[Java] 2017. 12. 7. 01:50

[JAVA] 자바에서 예외(Exception)란?

프로그램 오류(Error)프로그램이 어떤 상황에서 예기치 못한 상황이나 원인에 의해 오작동하거나 비정상적으로 종료되는 경우를 프로그램 에러 또는 오류라고 합니다.오류는 크게 세 가지로 분류가 가능합니다.컴파일 에러 - 소스코드의 잘못된 문법 구문이나 오타, 잘못된 자료형 사용 등에 의해 컴파일 시점에 발생하는 에러로 자바를 예로 들자면 .java 소스파일을 .class파일로 컴파일 하는 과정에서 발생되는 에러라고 볼 수 있습니다.런타임 에러 - 컴파일이 제대로 된 이후 프로그램이 실행 중 발생하는 에러로 자바를 예로 들면 사용자가 이름을 입력하지 않았는데 그 값을 문자열 연산을 한다든가 할 때 발생하는 NullPointerException 같은 경우를 들 수 있습니다.논리적 에러 - 소스코드 레벨에서 발..

자바[Java] 2017. 12. 6. 00:17

[JAVA] 예외의 종류

자바 예외의 종류자바는 오류 및 오류를 클래스로 관리하며 당연히 최상위 클래스인 Object를 상속받게 됩니다.프로그램이 실행되다가 예기치 못한 상황이 발생시 JVM은 해당 상황에 맞는 예외를 만들어 던지게 됩니다.오류 중 최상위 클래스는 Throwable 클래스인데 이름에서도 알 수 있듯이 throw(던지다) 와 able(~ 할 수 있는) 즉 던질 수 있다는 뜻을 가지고 있습니다.따라서 Throwable을 상속받아야만 예외로서 던져질 수 있다는 것을 알 수 있습니다.예외 상속 계층도예외의 상속 계층도는 다음과 같으며 거의 대부분의 중요한 예외 및 에러는 java.lang 패키지에 포함되어 있습니다.자바의 오류는 에러와 예외로 나뉘며, 예외는 또다시 컴파일 예외와 런타임 예외로 나뉩니다.자바에서의 모든 ..