예외처리
try{
//에러가 발생할 소지가 있는 코드를 개발자가 선별하여 지정해야 하며 "IO, DBMS, NETWORK"관련 코드가 대부분입니다.
}catch(Exception e){
//예외처리 및 예외처리 원인 출력
System.out.println(e.toString());
}finally{
//무조건 실행되는 코드 블럭, 데이터베이스 연결 종료 등
}예외 선언
Last updated
try{
//에러가 발생할 소지가 있는 코드를 개발자가 선별하여 지정해야 하며 "IO, DBMS, NETWORK"관련 코드가 대부분입니다.
}catch(Exception e){
//예외처리 및 예외처리 원인 출력
System.out.println(e.toString());
}finally{
//무조건 실행되는 코드 블럭, 데이터베이스 연결 종료 등
}Last updated
class Ex1 {
public static void main(String args[]) {
int a = 10;
int b = 0;
/*
if (b == 0){
System.out.println("0으로 나눌수 없습니다.");
System.exit(0);
}
*/
System.out.println(" a = " + a + " b = " + b );
System.out.println(" a/b = " + (a/b) );
System.out.println("나눗셈이 수행되었습니다.");
}
}class Ex2 {
public static void main(String args[]) {
System.out.println("매개변수로 받은 두 개의 값");
int a = 10; // 문자열 값을 정수로 변환
int b = 0;
System.out.println(" a = " + a + " b = " + b );
try{
System.out.println(" a를 b로 나눈 몫 = " + (a/b) );
}catch(Exception e){
System.out.println("[경고]예외발생:" + e.toString());
}finally{
System.out.println("나눗셈 연산이 종료 되었습니다.");
}
System.out.println("나머지 루틴을 정상적으로 실행합니다.");
}
} java.lang.Object
|
+--java.lang.Throwable
|
+--java.lang.Exception <--- 가장 넓은 범위
|
+--java.lang.RuntimeException
|
+--java.lang.IllegalArgumentException
|
+--java.lang.NumberFormatException <--- 가장 좁은 범위, 여기부터 catch문에 명시class ExceptionError1 {
public static void main(String args[]) {
try {
System.out.println("매개변수로 받은 두 개의 값");
int a = Integer.parseInt(args[0]); // 문자열 값을 정수로 변환
int b = Integer.parseInt(args[1]);
System.out.println(" a = " + a + " b = " + b );
System.out.println(" a를 b로 나눈 몫 = " + (a/b) );
System.out.println("나눗셈이 원할히 수행되었습니다.");
}
catch(ArithmeticException e) {
System.out.println("==================================");
System.out.println("ArithmeticException 처리 루틴 : ");
System.out.println(e + " 예외 발생");
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println("==================================");
System.out.println("ArrayIndexOutOfBoundsException 처리 루틴");
System.out.println(e + " 예외 발생");
}
catch(NumberFormatException e) {
System.out.println("==================================");
System.out.println("NumberFormatException 처리 루틴");
System.out.println(e + " 예외 발생");
}
catch(Exception e) {
System.out.println("==================================");
System.out.println("알수없는 문제가 발생했습니다.");
System.out.println(e.toString());
}
finally {
System.out.println("==================================");
System.out.println("예외 처리를 끝내고 finally 블럭을 수행합니다");
}
System.out.println("나머지 모듈 정상 작동!!!");
}
}