पर लौटने के लिए मैं एक कस्टम अपवाद वर्ग के रूप में निम्नानुसार है:कस्टम अपवाद में अतिरिक्त गुण जोड़ें AJAX समारोह
<Serializable>
Public Class SamException
Inherits Exception
Public Sub New()
' Add other code for custom properties here.
End Sub
Public Property OfferBugSend As Boolean = True
Public Sub New(ByVal message As String)
MyBase.New(message)
' Add other code for custom properties here.
End Sub
Public Sub New(ByVal message As String, ByVal inner As Exception)
MyBase.New(message, inner)
' Add other code for custom properties here.
End Sub
End Class
मैं AJAX प्रतिक्रियाओं से रिटर्न में कुछ मामलों के लिए यह उपयोग कर रहा हूँ।
मेरी AJAX प्रतिक्रिया की त्रुटि समारोह में मैं कर रहा हूँ कि निर्धारित करने त्रुटि इस तरह अपने कस्टम प्रकार का है:
....
ajax code....
.error = function (xhr, text, message) {
var parsed = JSON.parse(xhr.responseText);
var isSamCustomError = (parsed.ExceptionType).toLowerCase().indexOf('samexception') >= 0;
.... etc....
यह मैं वापस ग्राहक के लिए एक विशिष्ट प्रतिक्रिया पोस्ट करने अगर त्रुटि के है की अनुमति देता है मेरा कस्टम प्रकार
लेकिन ... मुझे इस मामले को अलग-अलग संभालने के लिए AJAX कोड के लिए अतिरिक्त संपत्ति OfferBugSend
को क्लाइंट में पोस्ट करने के लिए प्रतीत नहीं होता है।
console.log("OfferBugSend: " + parsed.OfferBugSend)
अपरिभाषित दिखाई दे रहा है, और अगर मैं प्रतिक्रिया की जाँच करें, इस वजह से xhr.responseText
केवल गुण शामिल हैं:
ExceptionType
Message
StackTrace
इन गुणों आधार वर्ग Exception
से हैं, लेकिन यह अपने कस्टम वर्ग गुजर नहीं है गुण ...
मैं यह कैसे कर सकता हूं?
कृपया एक कोड उदाहरण संलग्न करें कि आप अपना AJAX कैसे सबमिट करते हैं और अपना 'SamException' फेंक देते हैं। – codeDom
मैं आपको इच्छित कोड को पकड़ने की सलाह दूंगा। यदि आप अपना अपवाद दबाते हैं, तो उस अपवाद को बीएलएल/डीएएल से अपनी प्रस्तुति परत में फेंक दें। अपनी प्रस्तुति परत में, नया अपवाद प्रकार वापस करने का एक तरीका प्रदान करें जो आपके अपवाद से परिवर्तित हो जाएगा। उदाहरण है, पकड़ने का प्रयास करें (विशेष अपवाद) {नया वापस लौटें {.SpecialMessage = "IamError", IsError = True}। अपने अजाक्स में, IsError की जांच करें। – Programmer