2015-04-02 12 views
5

पर्ल में <statement> || die की तरह, कुछ संक्षिप्त बात यह है कि मैं प्रत्येक महत्वपूर्ण कथन के साथ रख सकता हूं ताकि कुछ गलत होने पर बाकी स्क्रिप्ट के साथ शक्तियों को परेशान करने से बच सकें।क्या शक्तियों में "... || मरने" के बराबर है?

+1

, $ ErrorPreferenceVariable 'स्टॉप' और आज़माएं/कैच संरचना करने के लिए सेट कर दिया जाता संभालने के लिए प्रयोग किया जाता है त्रुटियां –

उत्तर

5

अधिकतर आदेश -ErrorAction सामान्य पैरामीटर का समर्थन करते हैं। -ErrorAction Stop निर्दिष्ट करना आम तौर पर एक त्रुटि पर स्क्रिप्ट को रोक देगा। Get-Help about_CommonParameters देखें।

डिफ़ॉल्ट रूप से, -ErrorActionContinue है। आप $ErrorActionPreference के मान को बदलकर डिफ़ॉल्ट विकल्प बदल सकते हैं। Get-Help about_Preference_Variables देखें।

यदि वर्बोसिटी वास्तव में एक मुद्दा है, -ErrorAction-ea पर उपनाम है।

+0

यह मेरे लिए फिर से काम किया, बहुत बहुत धन्यवाद! –

1

...|| die को लागू करने का एक और तरीका, पावरशेल में निर्माण के बिना, विशाल प्रयास-पकड़ संरचनाओं को जोड़ने की आवश्यकता के बिना, स्वचालित चर $? का उपयोग करना होगा।
Get-Help about_Automatic_variables से:

$? 
    Contains the execution status of the last operation. It contains 
    TRUE if the last operation succeeded and FALSE if it failed. 

आप प्रत्येक महत्वपूर्ण बयान के बाद सही निम्नलिखित जोड़ें: आमतौर पर

if(-not $?){ 
    # Call Write-EventLog or write $Error[0] to an xml or txt file if you like 
    Exit(1) 
} 
+0

धन्यवाद मथैया! –

+0

@Lyt_Seeker आप बहुत स्वागत करते हैं^_^कृपया बाईं ओर –

+0

पर चेकमार्क पर क्लिक करके मेरे उत्तर को "स्वीकृत" चिह्नित करने पर विचार करें, फिर बैकन बिट्स द्वारा इस तरह के एक समाधान ने मेरे लिए काम किया; मैंने $ का उपयोग किया है? बाद में अन्य चीजों के लिए, लेकिन उसका जवाब मेरे लिए हल किया गया था। यहां आपके इनपुट के लिए धन्यवाद! –

संबंधित मुद्दे