मेरे पास एक फ़ाइल सिस्टम सिस्टम प्रोग्राम है जो मैं काम कर रहा हूं और यदि कोई फ़ाइल कॉपी करने में कोई त्रुटि है, तो मैं यह जानना चाहता हूं कि यह कौन सी फ़ाइल विफल रही है। साथ ही, मैं स्टैक ट्रेस, साथ ही साथ आंतरिक अपवाद जानकारी को बनाए रखने में सक्षम होना चाहता हूं।स्टैक ट्रेस और आंतरिक अपवाद जानकारी रखते हुए नई अपवाद फेंक
if (!found)
{
try
{
File.Copy(file, Path.Combine(watchDirectory, filename));
}
catch (Exception ex)
{
WriteToLog(new Exception(
String.Format("An error occurred syncing the Vault location with the watch location. Error copying the file {0}. Error = {1}", file, ex.Message), ex.InnerException));
}
}
तो, अपवाद पारित हो कि, मैं अभी भी स्टैकट्रेस की जानकारी है कि, भीतरी अपवाद जानकारी चाहते हैं, लेकिन मैं "संदेश" जो फ़ाइल उस पर विफल रही है जिसमें अपने कस्टम संदेश होना चाहता हूँ, मूल अपवाद द्वारा फेंक दिया गया "असली" संदेश भी प्रदर्शित करते हुए।
http://stackoverflow.com/questions/57383/in-c-how-can-i-rethrow-innerexception-without-losing-stack-trace –
क्यों वास्तव में आपको कोई नया अपवाद बना रहे हैं? – Oded
@ ओडेड इसलिए मेरे पास फ़ाइल हो सकती है जिसमें वास्तविक अपवाद संदेश में त्रुटि थी – ganders