नहीं, हमेशा नहीं। 255 एक यूनिक्स नंबर है, जो आम तौर पर -1 से बाहर निकलकर उत्पादित होता है, अस्पष्ट है कि आपको इसे कैसे देखना है। विंडोज़ पर, एक .NET प्रक्रिया आमतौर पर एसईएच अपवाद कोड मान से बाहर निकलती है, जिसने प्रक्रिया को क्रैश और समाप्त करने की प्रक्रिया प्राप्त की है। एक प्रबंधित अपवाद के लिए आमतौर पर -532462766 (उर्फ 0xE0434352)। पिछले 3 हेक्स जोड़े "सीसीआर" शब्द का उच्चारण करते हैं, जिसका संक्षिप्त नाम समय के कोहरे में खो गया है, जिसे corexcep.h में EXCEPTION_COMPLUS के रूप में घोषित किया गया है। नमूना प्रश्न is here।
एक अच्छी तरह से व्यवहार कार्यक्रम AppDomain.CurrentDomain.UnhandledException की सदस्यता लेता है और जब यह मार्शल.GetHRForException() द्वारा उत्पादित एक की तरह पर्यावरण.एक्सिट() को कॉल करता है तो बेहतर निकास कोड प्रदान करता है। आपको एक एक्जिट कोड मिलेगा जो प्रबंधित अपवाद प्रकार से मेल खाता है, मानक अपवाद प्रकारों के मान को CorError.h SDK फ़ाइल में दस्तावेज़ित किया गया है।
echo %errorlevel%
यह पहले प्रश्न में है कि नहीं देखा। % errorlevel% में केवल 0 और 255 के बीच एक मान हो सकता है, जो एक प्रतिबंध है जो एमएस-डॉस दिनों में वापस जाता है। चूंकि एसईएच अपवाद कोड हमेशा बड़ा होगा, आप आमतौर पर हमेशा 255 देखेंगे।% Errorlevel% का उपयोग करने के लिए केवल सौहार्दपूर्ण तरीका यह मानना है कि प्रोग्राम 0 में नहीं होने पर विफल रहा है। जब तक आपको प्रोग्राम लेखक से विशिष्ट दस्तावेज नहीं मिल जाता।
स्रोत
2016-02-09 14:49:21
[ईसीएमए -335] (http://www.ecma-international.org/publications/standards/Ecma-335.htm) में कुछ भी नहीं मिला, इसलिए मुझे लगता है कि रनटाइम का निकास कोड मानकीकृत नहीं है एक अनचाहे अपवाद के परिदृश्य के लिए। – Gene
हम्म, मेरे लिए विंडोज 10.0.14393 पर, 'ईसीएचओ% ERRORLEVEL% 'आउटपुट' -532462766'। – binki