मैं कैसे इस अपवाद पकड़ कर सकते हैं:पकड़ने डुप्लिकेट प्रविष्टि अपवाद
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
Duplicate entry '22-85' for key 'ID_CONTACT'
मैं कैसे इस अपवाद पकड़ कर सकते हैं:पकड़ने डुप्लिकेट प्रविष्टि अपवाद
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:
Duplicate entry '22-85' for key 'ID_CONTACT'
मैं वसंत का उपयोग करें ताकि हम इसे org.springframework.dao.DataIntegrityViolationException
try {
ao_history_repository.save(new AoHistory(..));
}
catch (DataIntegrityViolationException e) {
System.out.println("history already exist");
}
पकड़ SQLIntegrityConstraintViolationException, यदि आप जावा 1.6+
उपयोग कर रहे हैं जैसे
try {
ps.executeUpdate("INSERT INTO ...");
} catch (SQLIntegrityConstraintViolationException e) {
// Duplicate entry
} catch (SQLException e) {
// Other SQL Exception
}
या
try {
ps.executeUpdate("INSERT INTO ...");
} catch (SQLException e) {
if (e instanceof SQLIntegrityConstraintViolationException) {
// Duplicate entry
} else {
// Other SQL Exception
}
}
'SQLIntegrityConstraintViolationException के लिए पहुंच योग्य पकड़ ब्लॉक। यह अपवाद कभी भी कोशिश कथन बॉडी ' – Youssef
@Youssef से नहीं फेंक दिया गया है, आपके mysql-connector-java का संस्करण क्या है? और एसक्यूएल क्या है जिसे आप अपडेट करने का प्रयास करते हैं? – auntyellow
पकड़ने SQLException की आवश्यकता है। फिर आप यह पता लगा सकते हैं कि यह एक SQLIntegrityConstraintViolationException है या नहीं। ध्यान दें कि MySQLIntegrityConstraintViolationException एक प्रकार का SQLIntegrityConstraintViolationException है। – auntyellow
निम्नलिखित कोड मेरे लिए काम करता द्वारा हल:
try {
requete.executeUpdate();
} catch (final ConstraintViolationException e) {
}
मैं वसंत का उपयोग करें। तो पकड़ने org.springframework.dao.DuplicateKeyException
try{
...
} catch (DuplicateKeyException dke) {
...
}
यह मुद्दा जो इस अपवाद – sol4me
यह एक मुद्दा नहीं है लेकिन एक वेब अनुप्रयोग के साथ एक उपयोगकर्ता http अनुरोध पैरामीटर बदल सकते हैं खड़ी कर रहा है हल करने के लिए बेहतर होगा और मैं चाहता हूँ सुनिश्चित करें कि हर चीज काम करती है इसलिए मैं इस परत सुरक्षा को जोड़ना चाहता हूं। – Youssef
लेकिन जैसा कि आप स्टैकट्रैक से देख सकते हैं कि सम्मिलित होने के दौरान आप एक बाधा का उल्लंघन कर रहे हैं और डेटाबेस को भेजने से पहले डेटा को सत्यापित करना बेहतर है। यदि आप वास्तव में चाहते हैं तो आप अपवाद को स्पष्ट रूप से पकड़ सकते हैं लेकिन मैं एक क्लीनर समाधान – sol4me