○Exception Handling
▷프로그램에서 예상치못한 예외가 일어날 경우, 이를 처라히는 방법.
▶Exception (예외)
▷프로그램이 재대로 실행될 수 없는 상황
▷프로그램이 이상한 결과를 일으킬 수 있는 비정상적인 상황
◎Ex - Standard Exception, 기본적으로 내장
▷null 참조 (NullPointerException)
▷0으로 나눔 (ArithmeticException)
▷음수/범위를 벗어난 index (ArrayIndexOutOfBoundsExcepton)
▷Class 객체의 Casting 오류 (ClassCastException)
▶Checked vs Unchecked Exception
▷Checked: 도중에서의 에러 (입력 오류, 방해, ...)
▷Check Exception처리를 잘 해주는 것이 중요.
▷Unchecked: run-time 프로그래밍 과정에서의 에러, 컴파일 도중 에러가 발생한다.
▶try ~ catch
▷java에서 Exception을 처리하는 방법
▷try 내에서 exception이 throw되었을 경우, exception에 알맞은 catch구문으로 넘어간다.
▷throw new Exception();
▷rethrow: exception을 throw하고 catch하지 않는 경우, 해당 함수/메서드에 throw하는 exception을 명시해야 한다.
▶Multiple catch
▷여러 catch블럭을 하나의 try에 대해 정의할 수 있다.
▷다만, exception은 각기 다르거나, 부모 Exception이 뒤에 있어야 한다.
▷부모 Exception이 앞에 있을경우, 뒤의 자식 Exception들이 실행되지 못한다.
▶General Exception
▷모든 exception은 Exception Class를 상속받는다.
▷Exception은 모든 종류의 exception에 대해 반응 가능하다.
▶finally
▷언제나 실행되는 구문
▷try에서 exception이 throw되어도 실행된다.
▷try구문이 정상적이던 비정상적이던 resource를 안전하게 종료시키는데 사용된다.
▶try-with-resource (Java 7)
▷resource가 statement끝에 종료되는것을 보장한다.
▷java.lang.AutoCloseable을 implements한 Class에 대해서 지원한다.
○User-defined Exception
▷사용자가 exception을 직접 정의할 수 있다.
▷알맞은 exception을 상속받는다. (주로 RuntimeException)
○assert
▷단언문. boolean식을 포함하고 있다.
▷조건을 확인하고, 해당 조건을 만족하지 못하면 프로그램을 종료시킨다.
▷즉, 조건이 참임을 확신가능하다.
▷Precondition, Postcondition을 확인하는데 주로 사용된다.
▶사용
▶assert boolean식;
▷boolean식이 false이면 프로그램을 종료시킨다.
▶assert boolean식 : 수식;
▷boolean식이 false이면 수식을 실행하고, 프로그램을 종료시킨다.
▶enable / disable
▷-ea 옵션을 통해 assertion을 실행하거나, 무시할 수 있다.
'컴퓨터 언어 > java' 카테고리의 다른 글
Thread (0) | 2020.11.24 |
---|---|
Process (0) | 2020.11.23 |
Lambda Expression (0) | 2020.11.16 |
Collection (0) | 2020.11.16 |
Interface (0) | 2020.11.16 |