내용 |
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);
}
}
|