मैं निम्नलिखित कोड है:पकड़ने अपवाद, डेटा जोड़ें, और rethrow यह
try
{
OnInitialize();
}
catch (PageObjectLifecycleException exception)
{
exception.OldLifecycleState = CurrentLifecycleState;
exception.RequestedLifecycleState = LifecycleState.Initialized;
throw exception;
}
मैं एक अपवाद को पकड़ने के लिए, यह करने के लिए कुछ और अधिक डेटा जोड़ने के लिए, और यह rethrow। Resharper मुझे (सही) है कि एक rethrow संभवतः इरादा है चेतावनी दी है और करने के लिए इसे बदलने का सुझाव:
throw;
लेकिन मैं सोच रहा हूँ: यह सही ढंग से संशोधित अपवाद या असंशोधित मूल एक rethrow होगा?
संपादित करें: "इसे आज़माएं और देखें" टिप्पणियों के जवाब में: मैं C++ से आने वाले सी # के लिए नया हूं। सी ++ में आपको अक्सर इस तरह के कोने के मामलों में अपरिभाषित व्यवहार मिलता है और मुझे इसमें दिलचस्पी है कि मैं क्या चाहता हूं वास्तव में यह आधिकारिक रूप से कैसे काम करता है।
यह कोशिश करो और देखो क्या होता है फिर से फेंक? –
जो भी संदर्भ इंगित कर रहा है उसे फिर से उखाड़ फेंक देगा - आपके मामले में संशोधित "अपवाद"। –