예외처리

LeeSeungHwan dev·2021년 1월 16일
0

목표
자바의 예외 처리에 대해 학습하세요.

학습할 것 (필수)
자바에서 예외 처리 방법 (try, catch, throw, throws, finally)
자바가 제공하는 예외 계층 구조
Exception과 Error의 차이는?
RuntimeException과 RE가 아닌 것의 차이는?
커스텀한 예외 만드는 방법

-자바에서 예외 처리 방법 (try, catch, throw, throws, finally)
예외처리란?
프로그램 실행시 발생 할수 있는 예기치 못한 예외 의 발생에 대비해 코드를 작성한것으로
예외의 발생으로 인한 실행중인 프로그램의 갑작스런 비정상 종료를 막고 정상적인 실행상태를
유지하도록 하는것이다.
-try-catch문
예외가 발생하였을 경우와 발생하지 않았을때의 실행순서가 달라진다.
try{
//예외가 발생할 가능성이 있는 구문 삽입
}catch(예외1){
//예외가 발생했을경우, 처리하기위한 문장을 넣음.
}catch(예외2){
//예외가 발생했을경우, 처리하기위한 문장을 넣음.
}
*try내에서 예외발생시 발생한 예외가 일치하는 catch 블럭 확인후
일치하는 catch가 있으면 그 블럭의 문장을 수행하고 없다면 예외는 처리된다.
try내에서 예외가 발생하지 않을경우
전제 try-catch문을 빠져나가서 수행한다.
-finally
try{
//예외가 발생할 가능성이 있는 구문 삽입
}catch(예외1){
//예외가 발생했을경우, 처리하기위한 문장을 넣음.
}catch(예외2){
//예외가 발생했을경우, 처리하기위한 문장을 넣음.
}finally{
//예외의 발생여부 상관이 없이 항상 수행해야하는 문장을 넣음.
-throws
메서드 예외선언하기
void method() throws 예외1{
//메서드 내용
}
-throw
예외를 임의로 발생시키기
Exception e = new Exception("고의예외");
throw e;
-자바가 제공하는 예외 계층 구조

예외 클래스의 경우 두개의그룹
RuntimeException 클래스와 그 자손 클래스
-프로그래머의 실수에 의해서 발생되는 예외
-컴파일시 문제 x
Exception 클래스와 그 자손 클래스
-외부요인에 의해 발생되는 예외
-컴파일시 문제가 발생하므로 반드시 예외처리가 필요하다.

https://blog.naver.com/simpolor/220956457361

-Exception과 Error의 차이는?
예외(EXception):프로그램 코드에 의해서 수습될수 있는 다소 미약한 오류이다.
에러(Error):프로그램 코드애 의해서 수습될수 없는 심각한 오류이다.

-사용자정의 예외 만들기
기존의 정의된 예외 클래스 이외에 필요에 따라 새로운 예외 클래스를 정의할수 있다.
보통 Exception 클래스로부터 상속받는 클래스를 만들지만 필요에따라 알맞는 예외 클래스를 선택할수있다.
class MyException extends Exception{
MyException(){
super("사용자 정의 예외");
}
}

출처
자바의 정석

profile
생각하는 개발자가 되자!

0개의 댓글