c# - मैं.NET में कंसोल एप्लिकेशन के निकास कोड को कैसे निर्दिष्ट करूं?




exit-code (8)

अगर आपके मुख्य में शून्य वापसी हस्ताक्षर है, तो ExitCode का उपयोग करें, अन्यथा आपको वापस लौटने वाले मूल्य से इसे "सेट" करने की आवश्यकता है।

Environment.ExitCode

यदि मुख्य विधि शून्य लौटाती है, तो आप इस प्रॉपर्टी का उपयोग बाहर निकलने वाले कोड को सेट करने के लिए कर सकते हैं जिसे कॉलिंग वातावरण में वापस कर दिया जाएगा। यदि मुख्य शून्य वापस नहीं आता है, तो इस संपत्ति को नजरअंदाज कर दिया जाता है। इस संपत्ति का प्रारंभिक मूल्य शून्य है।

मेरे पास .NET में एक छोटा कंसोल एप्लिकेशन है। यह एक बड़े आवेदन का सिर्फ एक परीक्षण हिस्सा है। मैं अपने कंसोल एप्लिकेशन के "निकास कोड" को निर्दिष्ट करना चाहता हूं। मैं यह कैसे करु?


कंसोल एप्लिकेशन से निकास कोड वापस करने के लिए आप तीन विधियां उपयोग कर सकते हैं।

  1. अपने आवेदन में Main विधि को संशोधित करें ताकि यह void बजाय एक int लौटाए (एक ऐसा फ़ंक्शन जो VB.Net में Sub बजाय एक Integer देता है) और उसके बाद उस विधि से निकास कोड वापस कर दें।
  2. Environment.ExitCode सेट करें। Environment.ExitCode संपत्ति को निकास कोड पर सेट करें। ध्यान दें कि विधि 1. प्राथमिकता लेती है - यदि Main विधि void अलावा कुछ भी लौटाती है (VB.Net में Sub है) तो इस संपत्ति का मूल्य अनदेखा कर दिया जाएगा।
  3. Environment.Exit के बाहर निकास कोड पास करें। विधि विधि। यह प्रक्रिया को अन्य दो तरीकों के विपरीत तुरंत समाप्त कर देगा।

एक महत्वपूर्ण मानक देखा जाना चाहिए कि 0 'सफलता' का प्रतिनिधित्व करता है।

किसी संबंधित विषय पर, निकास कोड को परिभाषित करने के लिए गणना का उपयोग करने पर विचार करें कि आपका एप्लिकेशन वापस आने जा रहा है। FlagsAttribute आपको कोड के संयोजन को वापस करने की अनुमति देगा।

साथ ही, सुनिश्चित करें कि आपका एप्लिकेशन 'कंसोल एप्लिकेशन' के रूप में संकलित है।


बस मुख्य से एप्राइपिएट कोड वापस करें।

int main(string[] args)
{
      return 0; //or exit code of your choice
}

मेरे 2 सेंट:

आप यहां सिस्टम त्रुटि कोड पा सकते हैं: https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx

आपको "फाइल नहीं मिली" या "पहुंच से वंचित" के लिए 5 जैसे सामान्य कोड मिलेंगे।

और जब आप किसी अज्ञात कोड पर ठोकर खाते हैं, तो आप इसका अर्थ यह जानने के लिए कर सकते हैं कि इसका क्या अर्थ है:

net helpmsg decimal_code

जैसे

नेट हेल्पम्स 1

रिटर्न

गलत समारोह


रिटर्न इंट को कवर करने वाले उत्तरों के अलावा ... स्वच्छता के लिए एक याचिका। कृपया, अगर उपयुक्त हो तो ध्वज के साथ, अपने निकास कोड को enum में परिभाषित करें। यह डिबगिंग और रखरखाव इतना आसान बनाता है (और, बोनस के रूप में, आप आसानी से अपनी सहायता स्क्रीन पर निकास कोड प्रिंट कर सकते हैं - आपके पास उनमें से एक है, है ना?)।

enum ExitCode : int {
  Success = 0,
  InvalidLogin = 1,
  InvalidFilename = 2,
  UnknownError = 10
}

int Main(string[] args) {
   return (int)ExitCode.Success;
}

स्कॉट मुनरो के answer अपडेट के रूप में:

  • सी # 6.0 और Environment.Exit 14.0 (वीएस 2015) में, या तो Environment.ExitCode Environment.Exit या Environment.Exit को कंसोल एप्लिकेशन से गैर-शून्य कोड वापस करने की आवश्यकता है। Main प्रकार के Main प्रकार को बदलने से कोई प्रभाव नहीं पड़ता है।
  • एफ # 4.0 (वीएस 2015) में, main प्रवेश बिंदु का वापसी मूल्य सम्मानित किया जाता है।


int code = 2;
Environment.Exit( code );




exit-code