gwooden_코린이

java_예외처리_221130(8일차) 본문

java/8일차

java_예외처리_221130(8일차)

gwooden22 2022. 11. 30. 14:26
728x90
package 예외처리;

import java.util.Scanner;

public class Test {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int a, b;
		
		System.out.println("두수를 입력하시면 나눈값을 계산합니다");
		a = sc.nextInt();
		b = sc.nextInt();
		
		System.out.println(a/b);

	}

}
두수를 입력하시면 나눈값을 계산합니다
10 0
Exception in thread "main" java.lang.ArithmeticException: / by zero
at 예외처리.Test.main(Test.java:16)

Exception 으로 예외처리를 하면 그 안에 맞춤 기능을 다 외울 필요없지만 속도 면에서는 좀 뒤떨어지나 체감하기는 어렵다.

 

 

try {   예외가 발생할수도 있는 코드

 

} catch(ArithmeticException e){

 

} catch { //추가 예외 처리가 있을 경우 catch 계속 추가 가능

 

} finally { //예외가 발생했든 안했든 finally는 무조건 실행

 

}


package 예외처리;

public class ExceptionEx {

	public static void main(String[] args) {
		System.out.println(1);
		
		try {
			System.out.println(2);
			System.out.println(3/0); //0이여서 예외 발생 되어
			System.out.println(4); //catch가 없기 때문에 catch가 있는 곳 까지 쭉 패스하면서 내려갔다가
		} catch (ArithmeticException e) { //catch가 있는 부분 부터 다시 값 출력
			System.out.println(5);
		}
		
		System.out.println(6);

	}

}
1
2
5
6

catch (ArithmeticException e) {
System.out.println(e);
java.lang.ArithmeticException: / by zero
catch (Exception e) {
System.out.println(e);
java.lang.ArithmeticException: / by zero
try {
			System.out.println(2);
			System.out.println(3); //0이여서 예외 발생 되어
			System.out.println(4); //catch가 없기 때문에 catch가 있는 곳 까지 쭉 패스하면서 내려갔다가
		} catch (ArithmeticException e) { //catch가 있는 부분 부터 다시 값 출력
			System.out.println(5);
		}
		
		System.out.println(6);

	}
1
2
3
4
6

 

728x90
Comments