Erlang 21 - erl_error:

erl_error




erlang

erl_error

C लाइब्रेरी

erl_error

लाइब्रेरी सारांश

त्रुटि प्रिंट रूटीन।

विवरण

इस मॉड्यूल में डब्ल्यू। रिचर्ड स्टीवंस द्वारा "UNIX पर्यावरण में उन्नत प्रोग्रामिंग" से लिए गए कुछ प्रिंटिंग प्रिंटिंग रूटीन हैं।

इन कार्यों को सभी एक ही तरीके से printf() रूप में कहा जाता है, printf() , एक स्ट्रिंग युक्त प्रारूप विनिर्देशक के बाद इसी तर्कों की सूची होती है। इन कार्यों से सभी उत्पादन stderr करने के लिए है।

निर्यात

void erl_err_msg(FormatStr, ... )

प्रकार

कॉलर द्वारा प्रदान किया गया संदेश मुद्रित किया जाता है। यह फ़ंक्शन केवल fprintf() लिए एक आवरण है।

void erl_err_quit(FormatStr, ... )

प्रकार

इस फ़ंक्शन का उपयोग करें जब एक घातक त्रुटि हुई है जो सिस्टम कॉल के कारण नहीं है। कॉलर द्वारा प्रदान किया गया संदेश मुद्रित किया जाता है और प्रक्रिया निकास मान 1 साथ समाप्त हो जाती है। यह फ़ंक्शन वापस नहीं आता है।

void erl_err_ret(FormatStr, ... )

प्रकार

एक असफल सिस्टम कॉल के बाद इस फ़ंक्शन का उपयोग करें। कॉल करने वाले द्वारा दिया गया संदेश प्रिंट किया जाता है, जिसके बाद विफलता का कारण बताया जाता है।

void erl_err_sys(FormatStr, ... )

प्रकार

एक असफल सिस्टम कॉल के बाद इस फ़ंक्शन का उपयोग करें। कॉलर द्वारा प्रदान किया गया संदेश फेल होने का कारण बताते हुए एक स्ट्रिंग द्वारा मुद्रित किया जाता है, और प्रक्रिया निकास मान 1 साथ समाप्त हो जाती है। यह फ़ंक्शन वापस नहीं आता है।

त्रुटि की सूचना देना

Erl_Interface रिपोर्ट में अधिकांश फ़ंक्शन कॉलर को कुछ अन्यथा अर्थहीन मान (आमतौर पर NULL या नकारात्मक संख्या) Erl_Interface विफल कर देते हैं। जैसा कि यह केवल आपको बताता है कि चीजें अच्छी तरह से नहीं erl_errno यदि आप विफलता के बारे में अधिक जानकारी प्राप्त करना चाहते हैं, तो erl_errno में त्रुटि कोड की जांच करें।

निर्यात

volatile int erl_errno

erl_errno शुरू में (प्रोग्राम स्टार्टअप पर) शून्य है और फिर यह पता लगाने के लिए कि वह किस तरह की त्रुटि का सामना करने के लिए गैर-शून्य त्रुटि कोड में विफलता पर कई Erl_Interface फ़ंक्शन द्वारा सेट किया गया है। एक सफल फ़ंक्शन कॉल erl_errno को बदल erl_errno (कुछ अन्य फ़ंक्शन को कॉल करता है जो विफल हो जाता है), लेकिन कोई भी फ़ंक्शन इसे कभी भी शून्य पर सेट नहीं करता है। इसका मतलब है कि आप यह देखने के लिए erl_errno का उपयोग नहीं कर सकते हैं कि कोई फ़ंक्शन कॉल विफल हुआ है या नहीं। इसके बजाय, प्रत्येक फ़ंक्शन अपने तरीके से विफलता की रिपोर्ट करता है (आमतौर पर एक नकारात्मक संख्या या NULL लौटाकर), जिस स्थिति में आप विवरण के लिए erl_errno जांच कर सकते हैं।

erl_errno आपके सिस्टम के <errno.h> में परिभाषित त्रुटि कोड का उपयोग करता है।

ध्यान दें

erl_errno एक "परिवर्तनीय erl_errno " है (ठीक उसी तरह जैसे कि ISO C एक वेरिएबल के बजाय erl_errno को परिभाषित करता है)। इसका मतलब यह है कि इसे मैक्रो (उदाहरण के लिए, *_erl_errno() ) के रूप में लागू किया जा सकता है। थ्रेड सेफ़्टी (या कार्य सुरक्षा) के कारणों के लिए, यह ठीक वैसा ही है जैसा हम अधिकांश प्लेटफ़ॉर्म पर करते हैं।