आर में अपना पहला ट्राइकैच() फ़ंक्शन कैसे लिखें


आप किसी अभिव्यक्ति का मान वापस करने के लिए या कोई चेतावनी या त्रुटि आने पर एक कस्टम संदेश उत्पन्न करने के लिए आर में ट्राइकैच () फ़ंक्शन का उपयोग कर सकते हैं।

यह फ़ंक्शन निम्नलिखित मूल सिंटैक्स का उपयोग करता है:

 my_function <- function (x, y){
    tryCatch (
        #try to do this
        {
        #some expression
        },
        #if an error occurs, tell me the error
        error= function (e) {
            message(' An Error Occurred ')
            print(e)
        },
        #if a warning occurs, tell me the warning
        warning= function (w) {
            message(' A Warning Occurred ')
            print(w)
            return (NA)
        }
    )
}

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में ट्राइकैच() फ़ंक्शन का उपयोग कैसे करें।

उदाहरण: R में एक ट्राइकैच() फ़ंक्शन बनाएं

मान लें कि हम निम्नलिखित ट्राइकैच() फ़ंक्शन बनाते हैं जो एक मान का लॉग लेने का प्रयास करता है और फिर इसे दूसरे मान से विभाजित करता है।

यदि कोई त्रुटि होती है, तो हम “त्रुटि उत्पन्न हुई” संदेश आउटपुट करेंगे और फिर त्रुटि को आर पर प्रिंट करेंगे।

यदि कोई चेतावनी आती है, तो हम संदेश “एक चेतावनी आई है” आउटपुट करेंगे, चेतावनी को R पर प्रिंट करेंगे, और फिर NA मान लौटाएंगे।

यदि कोई त्रुटि या चेतावनी नहीं होती है, तो हम बस फ़ंक्शन परिणाम लौटा देंगे।

 log_and_divide <- function (x, y){
    tryCatch (
        {
        result = log(x) / y
        return (result)
        },
        error= function (e) {
            message(' An Error Occurred ')
            print(e)
        },
        warning= function (w) {
            message(' A Warning Occurred ')
            print(w)
            return (NA)
        }
    )
}

आइए इस फ़ंक्शन को विभिन्न परिदृश्यों में चलाएं।

परिदृश्य 1: कोई त्रुटि या चेतावनी नहीं होती।

निम्नलिखित कोड दिखाता है कि ऐसे परिदृश्य में फ़ंक्शन का उपयोग कैसे करें जिसमें कोई त्रुटि या चेतावनी नहीं होती है।

 #run function
log_and_divide(10, 2)

[1] 1.151293

चूंकि कोई त्रुटि या चेतावनी नहीं होती है, फ़ंक्शन केवल अभिव्यक्ति का परिणाम लौटाता है, जो 1.151293 होता है।

परिदृश्य 2: एक त्रुटि उत्पन्न होती है.

निम्नलिखित कोड दिखाता है कि उस परिदृश्य में फ़ंक्शन का उपयोग कैसे करें जहां कोई त्रुटि होती है:

 #run function
log_and_divide(10)

An Error Occurred
<simpleError in doTryCatch(return(expr), name, parentenv, handler):
  argument "y" is missing, with no default>

चूँकि हमने फ़ंक्शन के लिए केवल एक तर्क प्रदान किया है, हमें वह संदेश प्राप्त होता है जो कहता है कि ” एक त्रुटि हुई है ” और हम आर द्वारा उत्पन्न सटीक त्रुटि भी देखते हैं।

परिदृश्य 3: एक चेतावनी आती है.

निम्नलिखित कोड दिखाता है कि ऐसे परिदृश्य में फ़ंक्शन का उपयोग कैसे करें जहां चेतावनी होती है:

 #run function
log_and_divide(-10, 2)

A Warning Occurred
<simpleWarning in log(x): NaNs produced>
[1] NA

चूंकि हमने पहले तर्क के लिए एक नकारात्मक मान प्रदान किया है, आर एक नकारात्मक मान के लॉग की गणना करने में असमर्थ है, इसलिए हमें यह कहते हुए संदेश प्राप्त होता है कि ” एक चेतावनी आई है “, हम आर द्वारा उत्पादित सटीक चेतावनी देखते हैं और फ़ंक्शन एनए को लौटाता है नकारात्मक मूल्य है. परिणाम।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य ऑपरेशन कैसे करें:

आर में नेस्टेड फॉर लूप कैसे बनाएं
आर में लूप का उपयोग करके वेक्टर में मान कैसे जोड़ें
R में किसी फ़ंक्शन का मान कैसे वापस करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *