Content

Board ID 1116
Writer 허진경
Write Date 2022-05-26 16:10:29
Subject TestException
Content import java.sql.SQLException; public class TestException { public static void main(String[] args) { IMemberDAO dao = new MemberDAO(); MemberService service = new MemberService(dao); try { service.biz(); }catch(RuntimeException e) { System.out.println(e.getMessage()); } System.out.println("프로그램 정상 실행됨"); } } interface IMemberDAO { void insert(int id);// throws SQLException; } class MemberDAO implements IMemberDAO { public void insert(int id) {// throws RuntimeException {//SQLException { //SQL 코드가 포함된다고 가정 // 만약에 id가 10이 전달되면 이미 있는 키이므로 입력 안되는 상황으로 가정 try { if(id==10) throw new SQLException("키가 중복됩니다. " + id); }catch(SQLException e) { throw new RuntimeException(e); } } } class MemberService { IMemberDAO dao; public MemberService(IMemberDAO dao) { this.dao = dao; } // DAO 객체를 전달받기 위한 생성자 - 생성자를 이용한 의존성 주입(Dependency Injection) public void biz() { dao.insert(10); } }