일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- jenkins
- Spring Batch
- MySQL
- Gradle
- Spring
- javascript
- java
- Spring Boot
- 요리
- Oracle
- redis
- ReactJS
- devops
- it
- 맛집
- Design Patterns
- Web Server
- php
- AWS
- jsp
- Git
- JVM
- laravel
- elasticsearch
- springboot
- linux
- ubuntu
- IntelliJ
- tool
- db
Archives
- Today
- Total
아무거나
예외처리 본문
반응형
[예외처리]
몇 달 동안 실험을 기울여 만들어 놓은 프로젝트가 단순한 어떤 이유로 작동을 하지 않는다면 문제가 됩니다. 그러므로 예외의 필요서이
필요한데 그것은 어느 한 부분에서 예외가 발생하더라도 계속해서 프로그램이 동작되도록 하는데 목적이 있습니다.
1. try ~ catch
try {
// 문제가 발생할 수 있는 로직을 기술
} catch (Exception e) {
// Try{}안에서 문제가 발생했을 때 대처방안을 기술
}
* catch문에 예외처리를 여러 개 할 수 도 있다.
try {
} catch (ArrayIndexOutOfBoundsException a) {
} catch (NumberFormatException n) {
} catch (Exception e) {
}
* 또한 try ~ catch는 문제가 발생하여도 catch로 처리하고, 나머지 작업도 진행할 수 있다.
[try ~ catch ~ finally]
finally문은 try와 catch문의 영향 없이 무조건 실행된다.
ex) try {
} catch () {
} finally {
// catch문에 오지 않아도 와도 finally는 무조건 실행
}
2. throws
throws는 예외를 발생시킨(호출)쪽으로 예외를 던져버리는 방식이다.
[MainClass.java]
public class MainClass {
public static void main(String[] args) {
ThrowsExClass throwsExClass = new ThrowsExClass();
}
}
[ThrowsExClass.java]
public class ThrowsExClass {
public ThrowsExClass() {
actionC();
}
private void actionA() throws Exception {
System.out.println("action A");
int[] iArr = {1, 2, 3, 4};
System.out.println(iArr[4]);
System.out.println("actionAA");
}
private void actionB() {
System.out.println("action B");
try {
actionA();
} catch (Exception e) {
System.out.println("예외는 여기서 처리");
System.out.println(e.getMessage());
}
System.out.println("actionBB");
}
private void actionC() {
System.out.println("action C");
actionB();
System.out.println("action CC");
}
}
* 결과
action C
action B
action A
예외는 여기서 처리
4
actionBB
action CC
3. 일반적으로 많이 보게 되는 예외들
- ArrayIndexOutOfBoundsException : 배열을 사용시 존재하지 않는 index값을 호출하면 발생 합니다.
- NullPointerException : 존재하지 않는 객체를 가리킬 때 발생 합니다.
ex) 객체가 null되는 상황에 발생
- NumberFormatException : 문자를 숫자로처리할때 발생
[DB관련 Exception]
- ClassNotFoundException : 드라이브 이름을 찾지 못했을 때
- SQLException : db url, id, pw가 올바르지 않을 때
반응형
'Java & Kotlin > Java' 카테고리의 다른 글
입출력(I/O) (0) | 2019.08.16 |
---|---|
JAVA Collections (0) | 2019.08.16 |
StringTokenizer 클래스 (0) | 2019.08.16 |
Timer 클래스 (0) | 2019.08.16 |
Wrapper 클래스 (0) | 2019.08.12 |
Comments