простой проблема. Вот код:попробуйте поймать сохранение исключение
public void insertDefacer(Defacer defacer) {
try {
em.persist(defacer);
} catch (PersistenceException | DatabaseException e) {
defacer = em.find(Defacer.class, defacer.getIdentity());
defacer.setStats(defacer.getStats() + 1);
em.merge(defacer);
}
}
когда defacer уже существует в базе данных (MySQL), то persist
операция генерирует исключение (PersistenceException
и/или DatabaseException
). Кажется, это нормально. Поэтому я хочу поймать эти исключения и угрожать им. Но после регистрации этих исключений моя программа заканчивается внезапно (без завершения метода).
Почему?
Detail (Это может быть важным или нет): эм является EntityManager пройти через @PersistenceContext
где вы ссылаетесь на метод финиша? –
Я хочу, чтобы мой захват работал. Но это не так. – Aucxence
Я подозреваю, что в вашем блоке 'catch' происходит другое' Exception'. Обычно ваша программа должна продолжать работать, поэтому, вероятно, что-то происходит с вашим «EntityManager», чтобы предотвратить это. –