2011-03-09 13 views
12

से वापस लौटने के विरुद्ध मैं अपनी शेल स्क्रिप्ट में से एक में # निष्पादन योग्य के रिटर्न कोड का उपयोग करने की योजना बना रहा हूं। मैं दो विकल्प हैं:पर्यावरण का उपयोग करना। एक्सिटकोड बनाम मुख्य

मुख्य विधि से एक पूर्णांक मूल्य रिटर्निंग

class MainReturnValTest 
{ 
    static int Main() 
    { 
     //... 
     return 0; 
    } 
} 

(या)

एक निकास कोड

class MainReturnValTest 
{ 
    static void Main() 
    { 
     //... 
     Enviroment.Exit(exitCode); 
    } 
} 
साथ Environment.Exit का उपयोग करना

क्या उपरोक्त में से किसी भी का उपयोग करना ठीक है निष्पादन योग्य से मूल्य वापस करने के लिए Ays? या उनमें से एक दूसरे से अधिक पसंद है?

+0

संभावित डुप्लिकेट [जब किसी को पर्यावरण का उपयोग करना चाहिए। कंसोल एप्लिकेशन को समाप्त करने के लिए एक्सटिट करें?] (Http://stackoverflow.com/questions/692323/when-should-one-use-environment-exit-to-terminate- ए-कंसोल-एप्लिकेशन) – nawfal

+0

डाउनवॉटेड क्योंकि इस प्रश्न का शीर्षक 'Environment.ExitCode' का उल्लेख करता है, लेकिन प्रश्न का पाठ' Environment.Exit() 'के बारे में बात करता है। वे एक ही बात नहीं हैं। – Dan

उत्तर

16

पर्यावरण। एक्सिट() एक कठोर गर्भपात है। यह तुरंत प्रक्रिया को समाप्त करता है। इसका उपयोग केवल तभी करें जब आप सकल विफलता का पता लगाते हैं, यह ऐपडोमेन में उपयुक्त है। उदाहरण के लिए अननहेड अपवाद ईवेंट हैंडलर। अनचाहे अपवाद के कारण आपका प्रोग्राम समाप्त होने वाला कौन सा चलता है।

आपका नेतृत्व कौन सा है: अपवाद असामान्य स्थितियों को सिग्नल करने का एक अच्छा तरीका है जो प्रोग्राम को समाप्त करने के लिए बाहर निकलना चाहिए जो शून्य नहीं है। वास्तव में, यह स्वचालित रूप से अपवाद के HResult संपत्ति मूल्य पर सेट हो जाता है। कोई कोड आवश्यक नहीं है।

7

यदि आप एक रैखिक प्रोग्राम लिख रहे हैं, तो Main से वापस लौटना ठीक है। यदि आपके पास अधिक जटिल तर्क, या संभवतः निष्पादन के अन्य धागे हैं तो आप Exit(returnCode) का उपयोग करना चाहेंगे। दोनों तरीके आपकी शैल स्क्रिप्ट के बराबर होंगे।

+1

उस पर्यावरण को छोड़कर। एक्सिट() प्रोग्राम के लिए शक्ति को मारने के बराबर है, जबकि यह अभी भी चल रहा है। अगले पोस्टर राज्यों के रूप में, इसे हर कीमत से बचा जाना चाहिए। – debracey

1

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

एक वापसी का उपयोग तब किया जाता है जब आप किसी अन्य फ़ंक्शन पर मूल्य लौटा रहे हैं जहां से कोड कहा जाता है। या किसी घटना पर कोड निष्पादन के अंत को इंगित करने के लिए।

तुम भी इसे इस तरह देख सकते हैं:

1) एक वापसी एक समारोह है, जो मुख्य हो सकता है समाप्त होता है(); कार्यक्रम को समाप्त करने के लिए एक निकास का उपयोग किया जाता है।

2) एक निश्चित वापसी मूल्य के साथ एक प्रोग्राम को समाप्त करना किसी अन्य अनुप्रयोग द्वारा स्पष्ट रूप से व्याख्या नहीं किया जा सकता है, लेकिन कोड कार्यान्वयन पर निर्णय लेने के लिए बाहर निकलने की स्थिति का उपयोग किया जा सकता है।

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