Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 자바
- backend
- 프로그램
- 모의 주식
- 사물인터넷
- 개발자
- C++
- 자바독학
- 개발
- Project
- 코딩
- 코딩테스트
- 이웃한 칸
- SNS
- 프로그래밍
- 백준
- 주가예측
- Python
- java
- 코스닥
- 코딩독학
- 코테
- 풀스택프레임워크
- java정리
- 프로그래머스
- Reflex
- 자바정리
- 빅데이터
- 개인프로젝트
- frontend
Archives
- Today
- Total
Creative Code
예외처리 본문
**예외 발생종류
0으로 나누는경우 - ArithmeticException 예외발생
없는 파일을 열 경우 - FileNotFoundException 예외 발생
배열 범위 오류 - ArrayIndexOutOfBoundsException 예외 발생
**예외처리기법
int n;
try {
n = 4/0; //0으로 나눌때 에러발생
} catch(ArithmeticException e) {
n = -1; // 예외가 발생하면 이 문장 실행
}
**finally
try {
예외가 발생하는 조건
} catch (예외 종류) {
예외 대체 실행문
} finally {
예외에 상관없이 무조건 수행할 함수
}
**RuntimeException
class FoolException extends RuntimeException {
}
public class Main {
public void sayNick(String nick) {
if ("fool".equals(nick)) {
throw new FoolException();
}
System.out.println("당신의 별명은 "+nick+" 입니다.");
}
public static void main(String[] args) {
Main sample = new Main();
sample.sayNick("fool");
sample.sayNick("genious");
}
} // 인위적으로 예외 발생 시키기 (실행시 발생하는 예외), 예외가 발생할수도 발생 안할수도 있는 경우에 작성한다.
** Exception
class FoolException extends Exception {
}
public class Main {
public void sayNick(String nick) {
try {
if ("fool".equals(nick)) {
throw new FoolException();
}
System.out.println("당신의 별명은 "+nick+" 입니다.");
} catch(FoolException e) {
System.err.println("FoolException이 발생했습니다.");
}
}
public static void main(String[] args) {
Main sample = new Main();
sample.sayNick("fool"); // 실행 - 오류발생
sample.sayNick("genious"); // 실행
}
} // 이미예측가능한 오류, 컴파일시 발생하는 예외,
**throws (예외 던지기) -sayNick 매서드에서 예외를 처리하지않고 sayNick매서드를 호출한곳에서 예외처리하기
class FoolException extends Exception {
}
public class Main {
public void sayNick(String nick) throws FoolException {
if ("fool".equals(nick)) {
throw new FoolException();
}
System.out.println("당신의 별명은 "+nick+"입니다.");
}
public static void main(String[] args) {
Main sample = new Main();
try{
sample.sayNick("fool"); //실행 - 예외발생
sample.sayNick("genious"); //실행x
}catch(FoolException e) {
System.err.println("FoolException이 발생했습니다.");
}
}
}