Thực tế là chương trình của bạn không đưa ra bất kỳ ngoại lệ nào là không có kết quả không phải là một ngoại lệ.
Bạn có thể sử dụng phương thức execute () của CallableStatement của mình. Phương thức thực thi sẽ trả về một boolean cho biết liệu có một Tập kết quả tương ứng với việc thực hiện yêu cầu của bạn hay không.
Liên kết đến Javadoc: https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html#execute ()
Bạn vẫn có thể lấy ResultSet bằng phương thức getResultSet của câu lệnh siêu lớp: https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getResultSet ()
Trong trường hợp của bạn, bạn sẽ làm như sau:
boolean gotResults = myStmt.execute();
ResultSet rs = null;
if(!gotResults){
System.out.println("No results returned");
} else {
rs = myStmt.getResultSet();
}