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 ... } And for the findAll () method, I get the following: overridden method does not throw java.lang.Exception