java.sqlSQLException을 인터페이스의 추상메서드는 던지고 있다.
그 구현객체는 반드시 추상메서드를 재정의 해야하는데, 이때 구현객체에서 메서드 재정의시 던질 수 있는 익셉션은
Interface에 정의된 메서드가 던지는 Exception의 하위 타입이어야한다.
package test;
import java.sql.SQLException;
import java.sql.SQLTransientException;
public class ExceptionEx1 {
public void main() {
A a = new B();
try {
a.method();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
class B implements A{
@Override
public void method() throws SQLTransientException{// 기존 메서드의 하위클래스 엑셉션만 던질 수 있다.
}//기존메서드 보다 상위 익셉션을 던질시 컴파일 에러가 난다.
}
interface A{
void method() throws SQLException;
}
'JAVA-Basic' 카테고리의 다른 글
디버깅 (0) | 2020.08.28 |
---|---|
품질. (0) | 2020.08.28 |
10.Thread와 동기화(synchronized) (0) | 2020.07.10 |
9.hashcode & equals (0) | 2020.07.10 |
8.Exception 예외와 처리 (0) | 2020.07.10 |