2012-11-29 7 views
5

के लिए त्रुटियों को दबाएं मैं अपनी वीबीएस लॉगऑन स्क्रिप्ट में दिखाई देने वाली सभी त्रुटियों को दबाना चाहता हूं। यहां तक ​​कि OEG0 लाइन के बिना - -, लेकिन आप नहीं करना चाहिए क्योंकि स्क्रिप्ट लाइनों मैं निष्पादित करने के लिए जारी रहेगासंपूर्ण स्क्रिप्ट

On Error Resume Next 

'[... whole script (~500 lines of code) ...] 

On Error GoTo 0 

उत्तर

7

आप कर सकते हैं यह है:

मैं के साथ पूरे 500 लाइनों स्क्रिप्ट घेर सकता है। .. आखिरकार, यदि लाइन I-1 में कोई त्रुटि उन पंक्तियों में कार्रवाइयों की आवश्यक पूर्व-शर्तों के बारे में आपकी सभी मान्यताओं को अमान्य कर देती है। आपकी रणनीति अन्य कारों के हेडलाइट्स द्वारा चमकदार होने से बचने के लिए आपकी आंखों से बंद करने के लिए तुलनीय है।

आप स्थानीय रूप से प्रतिबंधित त्रुटि चयनित कार्यों के लिए से निपटने नहीं कर सकते हैं -

Sub Main() 
    ... you 500 lines ... 
End Sub 

On Error Resume Next 
    Main 
    If Err.Number Then 
    WScript.Echo "aborted" 
    WScript.Quit 4711 
    End If 

यह दृष्टिकोण सुनिश्चित करता है के साथ दूर होने की

... 
On Error Resume Next 
    risky_action 
    save Err 
On Error GoTo 0 
If ErrorOccurred Then 
    something sensible 
    If can't continue Then 
     WScript.Quit 4711 
    End If 
End If 
... 

कोशिश है कि एक त्रुटि के बाद लाइनों नहीं होगा सज़ा पाएं।

+2

क्या आप एक वीबीएस भगवान हैं? –

+1

@ जोनाथनरियौक्स - नहीं, क्योंकि तब मैंने वीबीस्क्रिप्ट बनाया होगा ताकि सभी प्रकार की त्रुटियां असंभव हों। –

+0

तो सच सच है! तो तुम सिर्फ एक और आदमी हो? –

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