1. 자바가 제공하는 예외 객체 외에도 개발자의 목적에 의해서 예외 객체를 만들 수있다.
2. 자바가 제공하는 예외 객체는 다양하지만 모든 예외를 처리하기는 어렵다.
3. 목적에 따라 공통기능을 지니는 예외처리도 필요하기 때문에 개발자가 직접 예외를 생성하여 처리 하기 어렵다.
4. 일회성 목적이 아닌 계속 사용할때 사용한다.
강제예외처리/사용자 정의예외처리
이 두가지 예외처리가 비슷해서 헷갈렸다. 하지만 간단하게 생각하기로했다.
강제예외처리는 일회성 사용자정의예외처리는 다회성
바로예제를보자
// 체크 예외 생성 public class CustomException extends Exception { public CustomException(String string) { super(String.valueOf(string)); } } |
1 .CustomException 클래스는 Exception 클래스를 상속받는다 Exception 클래스는 자바에서 기본적으로 제공하는 클래스 이며 모든예외처리 클래스의 부모가되는 클래스이다. 2. CustomException생성자는 매개변수를 받아주며 super() 메서드를 사용해줘야한다.(부모클래스인 Exception의 생성 자가 매개변수이기때문이다.) |
public class InputErrorException { public static void main(String[] args) { Scanner scan = new Scanner(System.in); try { System.out.println("당신의 나이를 입력하세요>>"); int age = scan.nextInt(); if(age<0) { throw new CustomException("입력오류"); }else if(age>19) { System.out.println("성인입니다."); }else if(age>13) { System.out.println("청소년입니다."); }else if(age>16) { System.out.println("어린이입니다."); }else { System.out.println("아동입니다."); } } catch (Exception e) { System.out.println(e.getMessage()); } } } |
InputErrorException 클래스를 만들어주고 try를 해주었다. 그리고 사용자입력값을 받는다. 하지만 잘못된값을 입력시 throw new CustomException("입력오류"); 이렇게 오류를넘긴다. 즉 입력오류라는 값을 호출한곳으로 보낸다. |
'(혼) (공) (자)' 카테고리의 다른 글
API (0) | 2024.01.29 |
---|---|
자바-알아두면 좋은것들 (0) | 2024.01.25 |
강제예외처리 (0) | 2024.01.23 |
throws (0) | 2024.01.23 |
finally (1) | 2024.01.23 |