शामिल नहीं है, मैं कार्य को चलाने के लिए कार्य समांतर लाइब्रेरी का उपयोग कर रहा हूं - जब रद्द किया गया - ऑपरेशन कैंक्लेड एक्सेप्शन फेंकता है, जिसे तब समेकित अपवाद का उपयोग करके पकड़ा जाता है। एग्रीगेट एक्सेप्शन में टास्ककैंक्लेड एक्सेप्शन की एक सूची है, जो फेंकने वाले अपवादों से मेल खाती है। दुर्भाग्यवश, ये कार्यकुशल अपवाद मूल अपवादों द्वारा फेंकने वाले स्टैक निशान खोने लगते हैं। क्या यह डिजाइन द्वारा है?AggregateException में TaskCanceledException में स्टैक ट्रेस
try
{
task1.Wait();
}
catch (AggregateException aggEx)
{
var tcex = ex as TaskCanceledException;
if (tcex != null)
{
Debug.WriteLine("InnerException:{0}, Message:{1}, Source:{2}, StackTrace: {3}",
tcex.InnerException, tcex.Message, tcex.Source, tcex.StackTrace);
return true;
}
else
{
return false;
}
}
परिणाम:
InnerException:, Message:A task was canceled., Source:, StackTrace:
कृपया आपके द्वारा पोस्ट किए गए परिणामों को दर्शाने के लिए अपना कोड अपडेट करें! :) –
लाइन "अगर (tcex! = Null)" सही है? ऐसा लगता है कि यह होना चाहिए "अगर (tcex == null)" –
@MatthewWatson - यह 'if' अन्य अपवादों को फ़िल्टर करता है। –