[JAVA] 50. 예외 처리 2

문정준's avatar
Feb 18, 2025
[JAVA] 50. 예외 처리 2
예외 처리기를 직접 작성
  • 내가 원하는 예외 처리 방식을 지정 가능
  • 해당 오류의 부모 클래스를 상속받음 → 부모 클래스의 메서드 사용 가능
 

1. DivideByZero

package ex15; // RuntimeException을 상속받음 => RuntimeException class BalanceLackException extends RuntimeException { } public class DivideByZeroOK02 { public static void main(String[] args) { try { int result = 10 / 0; System.out.println(result); } catch (BalanceLackException e) { System.out.println("괜찮아" + e.getMessage()); } } }
  • 직접 만든 BalanceLackException은 원래 존재하지 않음
  • RuntimeException을 상속받았기 때문에 메서드 사용 가능
 
 

2. GCD

package ex15; public class Run01 { public static int gcd(int a, int b) { //if (b == 0) return a; try { return gcd(b, a % b); } catch (ArithmeticException e) { return a; } } public static void main(String[] args) { int r = gcd(10, 20); // [1,2,5,10], [1,2,4,5,10,20] System.out.println(r); } }
  • 마지막에는 0으로 나눌 수 없음 : 오류 발생
  • 오류 발생 시 몫을 반환 : 이는 최대 공약수
 
 
Share article

sxias