मैं एक अजीब मुद्दे पर काम कर रहा हूं, मैं एकीकरण परीक्षण कर रहा था, जो मेरे नियंत्रक को डेटाबेस से ऑब्जेक्ट प्राप्त करने के लिए बुला रहा था जो मौजूद नहीं है।एक वसंत डेटा भंडार पर getOne (...) क्यों EntityNotFoundException फेंक नहीं देता है?
public Optional<T> get(Long id) {
try {
return Optional.ofNullable(repository.getOne(id));
} catch(EntityNotFoundException e) {
return Optional.empty();
}
}
जब getOne(…)
कुछ भी नहीं मिल पाई है, मैं एक EntityNotFoundException
लेकिन वास्तव में कुछ भी नहीं उम्मीद कर रहा था। अगर मैं अपना परिणाम देखता हूं तो मैं देख सकता हूं कि मेरे पास हैंडलर लिंक के साथ एक खाली इकाई है "EntityNotFoundException
फेंक दिया" लेकिन हम पकड़ में नहीं जाते हैं और मैं इस अजीब इकाई का एक वैकल्पिक विकल्प देता हूं।
मैं इस व्यवहार को समझ नहीं सकता।
आप एक उत्साह की अपेक्षा क्यों करते हैं? जावाडोक अपवाद के बारे में नहीं कहता है। – Jens
यह क्लासिक जेपीए व्यवहार है जब आप किसी मौजूदा डेटा पर getOne() को कॉल करते हैं। – Seb
इसके अलावा मैं देख सकता हूं कि यह अपवाद फेंक दिया गया है लेकिन वसंत डेटा द्वारा किसी भी तरह से संभालता है? – Seb