Overridden method does not throw

304
21 февраля 2017, 17:01
public interface EmployeeDAO {
public static final String SQL_FIND_ALL ="SELECT * FROM employees";
public List<Employee> findAll();
}
public class EmployeeDAOImpl implements EmployeeDAO {
private Connection conn;
public EmployeeDAOImpl() throws Exception {
    Properties props = new Properties();
    props.load(new FileInputStream("demo.properties"));
    String user = props.getProperty("user");
    String password = props.getProperty("password");
    String dburl = props.getProperty("dburl");
    conn = DriverManager.getConnection(dburl, user, password);
    System.out.println("DB connection successful to: " + dburl);
}

public List<Employee> findAll() throws Exception    {
    List<Employee> list = new ArrayList<>();
    Statement stmt = null;
    ResultSet rs = null;
    try {
        stmt = conn.createStatement();
        rs = stmt.executeQuery ...
}

И для метода findAll() получаю следующие: overridden method does not throw java.lang.Exception

Answer 1

Ну я не вижу концовки этого метода, но смею предположить что все операции, возвращающие исключения обернуты в этот try/catch. Поэтому ставить throw в определении метода не надо.

Если в интерфейсе или классе, который вы переопределяете, нет проброса исключения, то в подклассе их добавлять нельзя.

READ ALSO
Помощь по проекту [требует правки]

Помощь по проекту [требует правки]

У меня свой проект по Android Studio и это фото редактор, но я не знаю где взять рабочие фильтры для использованияКак сделать так,чтобы пользователь...

246
Как получить обычный String используя Retrofit 2?

Как получить обычный String используя Retrofit 2?

Хочу разобраться как работает Retrofit, но документация совсем скудная(может не там смотрю)

324
Как работает этот код?

Как работает этот код?

В обоих случаях для ссылочных типов передается копия ссылки на объектНо только в случае с массивом мы меняем этот объект

266