क्या मुझे अपवाद हैंडलिंग को उसी तरह से करना चाहिए जैसे नेट?पावरहेल में कैच ब्लॉक से अपवाद कैसे हटाया जा सकता है?
फिर, मैं पावरहेल में कैच ब्लॉक से अपवाद कैसे दोबारा फेंक सकता हूं?
'फेंक' enoungh या 'फेंक $ _' बेहतर होगा? PowerShell में
क्या मुझे अपवाद हैंडलिंग को उसी तरह से करना चाहिए जैसे नेट?पावरहेल में कैच ब्लॉक से अपवाद कैसे हटाया जा सकता है?
फिर, मैं पावरहेल में कैच ब्लॉक से अपवाद कैसे दोबारा फेंक सकता हूं?
'फेंक' enoungh या 'फेंक $ _' बेहतर होगा? PowerShell में
throw
कीवर्ड अलग ढंग से व्यवहार करती है तो .net कार्यान्वयन: .net में आप केवल System.Exceptions
खुद या उसके उत्तराधिकारी, लेकिन PowerShell में फेंक कर सकते हैं, आप कुछ भी फेंक कर सकते हैं और है कि स्वचालित रूप से एक System.Management.Automation.RuntimeException
में लपेटा जाता है। स्निपेट here देखें। आप फिर से फेंक मूल अपवाद चाहते हैं
आप इस्तेमाल कर सकते हैं throw
(सबसे सामान्य), या throw $_
, या throw $_.Exception
पुनश्च: अंदर catch
चर $_
अपने आप में अपवाद नहीं है, लेकिन System.Management.Automation.ErrorRecord
कि अपवाद शामिल
नोट: सी # में, 'फेंक' फॉर्म मूल अपवाद के संदर्भ (स्रोत स्थान) रखता है, लेकिन दुर्भाग्य से यह PowerShell में ऐसा प्रतीत नहीं होता है। – brianary