티스토리 뷰
다른 사람의 코드를 살펴보다보면
Try 와 Catch 문을 사용한 부분을 볼 수 있다.
Try와 Catch를 사용 하는 이유는 예외처리를 할 경우 사용한다.
코드를 짤 경우 특히 값을 입력받는 경우에
nextInt()를 준다면 정수값만 입력 할 수 있기 때문에 정수타입외에는 입력할 수 없다.
만약 다른 타입을 입력한다면 오류가 발생하고 프로그램이 멈추는 경우를 자주 볼텐데
Try Catch문은 이런 경우를 방지하기 위해서 사용한다.
Try Catch문은 예외적인 경우는 오류를 대신해서 다른행동을 취하게 하는데
한 가지 주의해야 할점은 예외적인 경우가 아닌 단순한 오류라면, Try Catch 문을 사용하지는 말자
코드를 아예 안짠다는것과 마찬가지니...
일반적인 사용방법은 아래의 코드를 참조하면 될것같다.
package ThreadExam;
import static java.lang.System.out;
public class ExceptionEXam {
public static void main(String[]args) {
int[] var = {10,200,30};
for(int i=0;i<=3;i++)
try {
out.println("var["+i+"] :"+var[i]);
}catch(ArrayIndexOutOfBoundsException ie) {
out.println("배열이 넘었는걸");
}
out.println("프로그램 끝!");
}
}
다음의 코드를 살펴보면 for문에서 배열의 길이가 3인데도 불구하고 0,1,2,3 이런식으로 4번 발생하게된다.
그러면 3이라는 값은 없는 값인데 출력하려니 오류가 발생한다. 그래서 try catch문을 사용해서 없는 배열까지 넘어가더라도
계속해서 프로그램을 진행하도록 바꾼 코드이다.
한 가지더 주의해야할점은 에러같은경우엔 발생한 에러마다 종류가 다르니 실행시켜서 예외적인 오류가 발생한경우
의 부분을 찾아서 catch문에 넣도록하자
throw는 말그대로 에러는 던져준다.
throw 를 쓰는 경우는 미리 정해져있는 예외적인 경우를 사용할경우에 throw를쓰면 오류가 발생하지 않고
오류가 발생하는 경우는 내가 직접 만든 ? 나중..에 정리
이미 만들어져 있는 기능에는 throw를 사용하면 에러가 나지 않는다.
package ThreadExam;
import static java.lang.System.out;
public class ThrowEx1 {
public void setData(String n) throws NumberFormatException{
if(n.length()>=1) {
String str = n.substring(0,1);
printData(str);
}
}
private void printData(String n)throws NumberFormatException{
int dan=Integer.parseInt(n);
out.println(dan+"단");
out.println("------------");
for(int i=0;i<9;i++)
out.println(dan+"*"+(i+1)+"="+(dan%(i+1)));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ThrowEx1 t1=new ThrowEx1();
try {
t1.setData(args[0]);
}catch(Exception e) {
out.println("첫문자 숫자아님");
}
}
}
- Total
- Today
- Yesterday
- producer
- 운동
- docker
- git
- zipkin
- Spring + ELK
- prometheus
- kafka
- 미래의나에게동기부여
- rabbitmq
- UserService
- MariaDB
- Logstash 활용
- MSA
- JWT
- github
- ACTUATOR
- elasticSearch
- Feign
- 빅-오
- consumer
- 오늘저녁 삼겹살
- 루틴기록
- Kafka Connect
- Logstash to ElasticSearch
- Gateway
- config
- springcloud
- 운동일기
- LoadBalancer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |