Le fait que votre programme n'ait levé aucune exception est que l'absence de résultats n'est pas une exception.
Vous pouvez utiliser la méthode execute() de votre CallableStatement. La méthode execute retournera un booléen indiquant s'il y avait un ResultSet correspondant à l'exécution de votre requête.
Lien vers la Javadoc :https ://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html#execute()
Vous pouvez toujours obtenir le ResultSet avec la méthode getResultSet de la super classe Statement :https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getResultSet()
Dans votre cas, vous feriez ce qui suit :
boolean gotResults = myStmt.execute();
ResultSet rs = null;
if(!gotResults){
System.out.println("No results returned");
} else {
rs = myStmt.getResultSet();
}