반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Keras
- CES 2O21 참가
- html
- web 개발
- bccard
- KNeighborsClassifier
- pycharm
- mglearn
- classification
- vscode
- C언어
- cudnn
- 머신러닝
- 재귀함수
- 데이터전문기관
- broscoding
- CES 2O21 참여
- web 용어
- inorder
- discrete_scatter
- tensorflow
- web
- 대이터
- 결합전문기관
- java역사
- paragraph
- web 사진
- 웹 용어
- postorder
- 자료구조
Archives
- Today
- Total
bro's coding
java.Exception Handling(예외 처리).try/catch 본문
반응형
try
예외 상황 발생 예상 지점을 블럭화
catch
예외 상황 발생시 처리하는 영역 > 대안 흐름(대처 방안)
case1
package step3;
public class TestException1 {
public static void main(String[] args) {
// Exception이 발생되면 JVM은 Exception메세지를 보여주고 실행을 중단
String str = "아이유";
str = null;
System.out.println(str.length());
System.out.println("**프로그램 정상종료**");
// 적절한 Exception Handling 필요
}
}
/*
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "str" is null
at step3.TestException1.main(TestException1.java:8)
*/
case2
package step3;
public class TestException2 {
public static void main(String[] args) {
// Exception이 발생되면 JVM은 Exception메세지를 보여주고 실행을 중단
/*
try{//예외처리를 시도
// 예외 발생 지점
}catch(NullPointerException ne){
//대안흐름 수행
}
> 위와 같이 예외처리를 하면 프로그램은 정상 실행됨
*/
String str = "아이유";
str = null;
try {
System.out.println(str.length());
}catch(NullPointerException ne) {
System.out.println("null이므로 길이를 구할 수 없지롱");
}
System.out.println("**프로그램 정상종료**");
}
}
/*
null이므로 길이를 구할 수 없지롱
**프로그램 정상종료**
*/
case3
package step3;
import java.util.ArrayList;
public class TestException3 {
public static void main(String[] args) {
// Exception이 발생되면 JVM은 Exception메세지를 보여주고 실행을 중단
/*
하나의 try 블럭 내에 다양한 예외Exception 발생 상황이면
catch 구문을 여러개 명시할 수 있음
이때, 구체 > 추상 (or 자식 > 부모 ) 순으로 정의해야함
*/
String str = "아이유";
// str = null;
ArrayList<String> list = new ArrayList<String>();
try {
System.out.println(3 / 0);// catch(Exception e){}가 처리
System.out.println(str.length());
list.get(0);
} catch (NullPointerException ne) {
System.out.println("null이므로 길이를 구할 수 없지롱");
} catch (IndexOutOfBoundsException ie) {
System.out.println("리스트의 범위를 초과하여 요소를 반환할 수 없지롱");
} catch (Exception e) {
// 예외 발생 경로를 상세히 보여줌
e.printStackTrace();
System.out.println("예외발생 대안흐름실행");
}
System.out.println("**프로그램 정상종료**");
}
}
case4
package step3;
public class TestException4 {
public static void main(String[] args) {
// 코드 실행 결과 예상
String age = "21";
age = "스물한살";
try {
int intAge = Integer.parseInt(age);// 문자열을 정수로 변환
System.out.println(intAge + 1);// 22
} catch (NullPointerException ne) {
System.out.println("b");// 실행 안 됨
} catch (NumberFormatException nf) {
System.out.println("a");
}
System.out.println("c");
}
}
/*
a
c
*/
package step3;
public class TestException4 {
public static void main(String[] args) {
// 코드 실행 결과 예상
String age = "21";
// age = "스물한살";
try {
int intAge = Integer.parseInt(age);// 문자열을 정수로 변환
System.out.println(intAge + 1);// 22
} catch (NullPointerException ne) {
System.out.println("b");// 실행 안 됨
} catch (NumberFormatException nf) {
System.out.println("a");
}
System.out.println("c");
}
}
/*
22
c
*/
case5
package step1;
/*
* Exception Handling
* > 예외 발생시 대안흐름 실행
* try, catch, finally
*/
public class TestExceptionReview {
public static void main(String[] args) {
String name = "아이유";
name = null;
try {
System.out.println(name.startsWith("아"));
} catch (NullPointerException ne) {
System.out.println("null이므로 name을 입력하삼!");
}finally {
System.out.println("finally 항상 실행~");
}
System.out.println("정상 실행!!!");
}
}
/*
null이므로 name을 입력하삼!
finally 항상 실행~
정상 실행!!!
*/
java.Exception Handling(예외 처리)
Excetion Handling(예외 처리) Exception : 예외 / Error : 에러 Exception Handling(예외처리) : 프로그램 실행시 예외적 상황 발생에 대한 대안흐름(대처방안)을 실행하고 프로그램을 정상 수행하는데 있음 > E..
broscoding.tistory.com
반응형
'[IT] > java' 카테고리의 다른 글
java.Exception Handling(예외 처리).Unchecked Exception (0) | 2021.03.10 |
---|---|
java.Exception Handling(예외 처리).throw.UserDefineException(사용자 정의 예외) (0) | 2021.03.10 |
java.Exception Handling(예외 처리).throw (0) | 2021.03.10 |
java.Exception Handling(예외 처리).throws (0) | 2021.03.10 |
java.Exception Handling(예외 처리).finally (0) | 2021.03.09 |
java.Exception Handling(예외 처리) (0) | 2021.03.09 |
java.map (0) | 2021.03.09 |
java.stack/queue (0) | 2021.03.09 |
Comments