की विधि मैं आज़माएं/कैच ब्लॉक के अंदर SaveChanges()
विधि डाल नहीं पकड़ सकते हैं, लेकिन मैं SqlExeption पकड़ नहीं सकता है।मैं क्यों SaveChanges पर SqlException() इकाई की रूपरेखा
try
{
db.SaveChanges();
}
catch (Exception ex)
{
}
की विधि मैं आज़माएं/कैच ब्लॉक के अंदर SaveChanges()
विधि डाल नहीं पकड़ सकते हैं, लेकिन मैं SqlExeption पकड़ नहीं सकता है।मैं क्यों SaveChanges पर SqlException() इकाई की रूपरेखा
try
{
db.SaveChanges();
}
catch (Exception ex)
{
}
आप SqlException
नहीं पकड़ सकते, क्योंकि यह सीधे फेंक दिया नहीं है, यह DbUpdateException
के भीतरी अपवाद के रूप में स्थापित किया जाएगा।
इकाई की रूपरेखा एक अमूर्त डेटाबेस के साथ काम करने के लिए है, यह किसी भी डेटाबेस प्रौद्योगिकी पर सीधे निर्भर नहीं करता है।
अपवाद DbContext.SaveChanges()
SqlException
द्वारा फेंका पर एक नज़र System.Data.SqlClient.SqlException वर्ग है, इसलिए यह सामान्य है कि आप इस अपवाद EntityFramework DbContext.SaveChanges Method()
के रूप में ही द्वारा निम्न अपवादों फेंक कर सकते हैं नहीं पकड़ सकते है है MSDN
DbUpdateException
DbUpdateConcurrencyException
DbEntityValidationException
NotSupportedException
ObjectDisposedException
InvalidOperationException
तो तुम उदाहरण के लिए कुछ इस तरह कर सकते हैं
try
{
db.SaveChanges();
}
catch (DbUpdateException ex)
{
}
catch (DbUpdateConcurrencyException ex)
{
}
अधिक
अपवाद जैसा कि ऊपर उल्लेख इकाई की रूपरेखा स्वनिर्धारित अपवाद है कि केवल EF
पर जिम्मेदार है जब और कैसे उन्हें Implementing custom exceptions
मुझे नहीं पता क्यों इस सवाल प्रतिक्रियाओं यह एक आसानी से पहचाने जाने जिसका उत्तर तो यह है, तो सरल एक अच्छा सवाल था से बंद हो गया है, इसकी स्पष्ट @usr स्वीकार किए जाते हैं जवाब आवंटित करने चाहिए। यह है कि क्या मैं अपने ui पकड़ के लिए रूट एसक्यूएल त्रुटि को पाने के लिए कर रही है समाप्त हो गया है (अपवाद पूर्व) { जबकि (ex.InnerException = अशक्त!) पूर्व = ex.InnerException; spanError.Text = ex.Message; } –
वांछित व्यवहार की व्याख्या की और स्पष्ट है पर एक नज़र डालें को गति प्रदान कर रहे हैं। एक स्पष्ट समस्या कथन है। जिज्ञासु के लिए कारण है कि इस मतदान किया गया था के रूप में ... – maplemale
मैं बी एस इस विषय को बंद करने पर कहते हैं। यह मूल रूप से विषय पर है और यहां तक कि उदाहरण कोड भी दिखा रहा है कि अपेक्षित व्यवहार क्या है। 'इच्छा है कि हम उन लोगों को वोट दें जो इसे बंद करने के लिए मतदान करते हैं। –
फिर से खोलने और –