एक अपवाद क्या है?
एक अपवाद एक त्रुटि है जो एक कार्यक्रम के निष्पादन के समय होता है। हालाँकि, प्रोग्राम चलाते समय, प्रोग्रामिंग भाषाएँ एक अपवाद उत्पन्न करती हैं जिसे आपके प्रोग्राम को क्रैश होने से बचाने के लिए नियंत्रित किया जाना चाहिए।
अपवाद इंगित करता है कि, हालांकि घटना हो सकती है, इस प्रकार की घटना अक्सर होती है। जब विधि अपवाद को संभालने में सक्षम नहीं होती है, तो इसे उसके कॉलर फ़ंक्शन पर फेंक दिया जाता है। आखिरकार, जब एक अपवाद को मुख्य फ़ंक्शन से बाहर निकाल दिया जाता है, तो कार्यक्रम को अचानक समाप्त कर दिया जाता है।
इस ट्यूटोरियल में, आप सीखेंगे:
- एक अपवाद क्या है?
- सेलेनियम वेब ड्राइवर में अपवाद
- सेलेनियम अपवादों को संभालना
- अपवाद प्रदर्शित करने के तरीके
सेलेनियम वेब ड्राइवर में आम अपवाद
अपवाद नाम | विवरण |
ElementNotVoubleException | इस प्रकार का सेलेनियम अपवाद तब होता है जब DOM में एक मौजूदा तत्व में छिपा हुआ एक फीचर सेट होता है। |
ElementNotSelectableException | यह सेलेनियम अपवाद तब होता है जब कोई तत्व DOM में प्रस्तुत किया जाता है, लेकिन आप चयन करने में सक्षम हो सकते हैं। इसलिए, बातचीत करना संभव नहीं है। |
NoSuchElementException | यह अपवाद तब होता है यदि कोई तत्व नहीं मिला। |
NoSuchFrameException | यह अपवाद तब होता है जब फ़्रेम लक्ष्य को स्विच करने के लिए मौजूद नहीं है। |
NoAlertPresentException | यह अपवाद तब होता है जब आप बिना किसी अलर्ट के स्विच करते हैं। |
NoSuchWindowException | यह अपवाद तब होता है जब विंडो लक्ष्य स्विच होना मौजूद नहीं है। |
StaleElementReferenceException | यह सेलेनियम अपवाद तब होता है जब वेब तत्व को मौजूदा डोम से अलग किया जाता है। |
SessionNotFoundException | आपके द्वारा ब्राउज़र छोड़ने के बाद WebDriver अभिनय कर रहा है। |
समयबाह्य अपवाद | जब कोई आदेश पूरा होने के लिए पर्याप्त समय न हो तो फेंक दें। उदाहरण के लिए, खोजा गया तत्व निर्दिष्ट समय में नहीं मिला था। |
WebDriverException | यह अपवाद तब होता है जब WebDriver आपके ब्राउज़र को बंद करने के बाद सही कार्य कर रहा होता है। |
कनेक्शन | इस प्रकार का अपवाद तब होता है जब चालक में एक वियोग होता है। |
ElementClickInceptceptedException | आदेश पूरा नहीं हो सकता क्योंकि घटनाओं को प्राप्त करने वाला तत्व उस तत्व को छिपा रहा है जिसे क्लिक करने का अनुरोध किया गया था। |
ElementNotInteractableException | इस सेलेनियम अपवाद को फेंक दिया जाता है जब कोई तत्व डोम में प्रस्तुत किया जाता है। हालांकि, ऐसे तत्व के साथ बातचीत करना असंभव है। |
ErrorInResponseException | फ़ायरफ़ॉक्स एक्सटेंशन या रिमोट ड्राइवर सर्वर के साथ बातचीत करते समय ऐसा होता है। |
ErrorHandler.UnognServerException | यदि सर्वर स्टैक ट्रेस के बिना त्रुटि देता है, तो अपवाद का उपयोग प्लेसहोल्डर के रूप में किया जाता है। |
ImeActivationFailedException | यह अपेक्षा तब होगी जब IME इंजन सक्रियण विफल हो गया हो। |
ImeNotAvailableException | यह तब होता है जब IME समर्थन अनुपलब्ध होता है। |
InsecureCertificateException | नेविगेशन ने प्रमाण पत्र चेतावनी को हिट करने के लिए उपयोगकर्ता एजेंट बनाया। यह अमान्य या समाप्त TLS प्रमाणपत्र के कारण हो सकता है। |
अमान्यकरण। अपवाद | यह तब होता है जब एक तर्क अपेक्षित प्रकार का नहीं होता है। |
InvalidCookieDomainException | यह तब होता है जब आप वर्तमान URL के बजाय किसी अन्य डोमेन के तहत कुकी जोड़ने का प्रयास करते हैं। |
अमान्य | इस प्रकार का अपवाद एक इंटरैक्शन ऑपरेशन से मेल खाता है जो मान्य नहीं है। |
अमान्य | यह तब होता है जब तत्व अमान्य होने पर कमांड समाप्त नहीं किया जा सकता है। |
अमान्य | यह अपवाद तब हुआ जब दिए गए सत्र आईडी को सक्रिय सत्रों की सूची में शामिल नहीं किया गया है। इसका मतलब है कि सत्र मौजूद नहीं है या निष्क्रिय है। |
अमान्य | यह तब होता है जब स्विच करने के लिए फ़्रेम या विंडो लक्ष्य मौजूद नहीं होता है। |
जावास्क्रिप्ट। अपवाद | उपयोगकर्ता द्वारा दिए गए जावास्क्रिप्ट को निष्पादित करते समय यह समस्या होती है। |
JsonException | यह तब होता है जब आप सत्र नहीं बनाए जाने पर सत्र प्राप्त करने का खर्च उठाते हैं। |
NoSuchAttributeException | इस तरह का अपवाद तब होता है जब किसी तत्व का गुण नहीं पाया जा सकता है। |
MoveTargetOutOfBoundsException | यह तब होता है जब एक्शनचैन्स मूव () पद्धति को दिया गया लक्ष्य मान्य नहीं है। उदाहरण के लिए, दस्तावेज़ से बाहर। |
NoSuchContextException | ContextAware मोबाइल डिवाइस परीक्षण करता है। |
NoSuchCookieException | यह अपवाद तब होता है जब वर्तमान ब्राउज़िंग दस्तावेज़ के सभी संबद्ध कुकीज़ के लिए दिए गए पथ नाम के साथ कोई कुकी मेल नहीं खाती है। |
NotFoundException | यह अपवाद WebDriverException का एक उपवर्ग है। यह तब होगा जब DOM पर कोई तत्व मौजूद नहीं है। |
RemoteDriverServerException | यह सेलेनियम अपवाद तब फेंका जाता है जब सर्वर इस समस्या के कारण प्रतिक्रिया नहीं दे रहा है कि वर्णित क्षमताएं उचित नहीं हैं। |
स्क्रीनशॉट। अपवाद | स्क्रीन पर कब्जा करना संभव नहीं है। |
SessionNotCreatedException | यह तब होता है जब एक नया सत्र सफलतापूर्वक नहीं बनाया जा सकता था। |
असमर्थितीसुच्चाक्षिपातं | यह तब होता है जब कोई ड्राइवर कुकी सेट करने में असमर्थ होता है। |
अनपेक्षित | होता है अगर एक समर्थन वर्ग को उम्मीद के मुताबिक वेब तत्व नहीं मिला। |
अनहेल्डएल्थ एक्ससेप्शन | यह अपेक्षा तब होती है जब कोई अलर्ट होता है, लेकिन वेबड्राइवर अलर्ट ऑपरेशन करने में सक्षम नहीं होता है। |
अनपेक्षित | यह तब होता है जब एक अप्रत्याशित अलर्ट की उपस्थिति होती है। |
अज्ञातमेथोडीसेप्शन | यह अपवाद तब होता है जब अनुरोधित कमांड एक ज्ञात URL से मेल खाती है लेकिन किसी विशिष्ट URL के लिए कार्यप्रणाली से मेल नहीं खाती। |
अप्राप्य BrowserException | यह अपवाद केवल तब होता है जब ब्राउज़र किसी कारण से खोला या क्रैश नहीं हो पाता है। |
UnsupportedCommandException | यह तब होता है जब दूरस्थ WebDriver मान्य आदेशों को अपेक्षित रूप से नहीं भेजता है। |
सेलेनियम अपवादों को संभालना
यहां, कुछ महत्वपूर्ण मानक हैं, जिनके उपयोग से आप सेलेनियम वेबड्राइवर में अपवादों को संभाल सकते हैं:
ट्राइ-कैच : यह तरीका एक्सेप्शन को पकड़ सकता है, जो कि ट्राई का एक संयोजन इस्तेमाल करता है और कीवर्ड पकड़ता है। कोशिश कमांड ब्लॉक की शुरुआत को इंगित करता है, और कैच को कोशिश ब्लॉक के अंत में रखा जाता है, जो अपवाद को हल करने में मदद करता है।
प्रयत्न{{// कोड} पकड़ (अपवाद ई) {// हैंडलिंग अपवाद के लिए कोड}
- मल्टीपल कैच ब्लॉक : विभिन्न प्रकार के अपवाद हैं, और आप कोड के एक ब्लॉक से एक से अधिक अपवाद की उम्मीद कर सकते हैं। एकाधिक कैच आपको कोड के एक अलग ब्लॉक के साथ अलग-अलग प्रकार के अपवाद को संभालने में मदद करते हैं। इसका उपयोग दो से अधिक कैच ब्लॉक के लिए किया जा सकता है, और कैच ब्लॉक्स की संख्या पर कोई सीमा नहीं है।
प्रयत्न{{// कोड} पकड़ (ExceptionType1 e1) {// हैंडलिंग अपवाद के लिए कोड 1} पकड़ (ExceptionType2 e2) {// हैंडलिंग अपवाद के लिए कोड 2}
- थ्रो : जब आप एक्ससेप्शन जेनरेट करना चाहते हैं, तो थ्रो कीवर्ड का इस्तेमाल एक्ससेप्शन को रन टाइम में संभालने के लिए फेंकने के लिए किया जाता है। जब आप बिना किसी अपवाद के एक अपवाद को फेंक रहे हैं, तो उन्हें थ्रो कीवर्ड का उपयोग करने की आवश्यकता है।
सार्वजनिक स्थैतिक शून्य anyFunction () अपवाद {फेंकता हैप्रयत्न {// अपना कोड यहाँ लिखें} कैच (अपवाद b) {// आप जो भी प्रदर्शन करना चाहते हैं, वह करें// अपवाद को सिस्टम में वापस फेंक देंफेंक (बी);}}
- एकाधिक अपवाद : आप थ्रेड क्लाज में विभिन्न अपवादों का उल्लेख कर सकते हैं।
सार्वजनिक स्थैतिक शून्य anyFunction () ExceptionType1, ExceptionType2 {फेंकता हैप्रयत्न {// अपना कोड यहाँ लिखें} पकड़ (ExceptionType1 e1) {// अपवाद 1 को संभालने के लिए कोड} कैच (ExceptionType1 e2) {// अपवाद 2 को संभालने के लिए कोड}
- अंत में : अंतिम कीवर्ड का उपयोग कोशिश ब्लॉक के तहत कोड बनाने के लिए किया जाता है। यह अंतिम कोड है जो आपको अपवाद की घटना के बावजूद निष्पादित करने में मदद करता है
प्रयत्न {// कोड} पकड़ (ExceptionType1 e1) {// पकड़ो ब्लॉक} पकड़ (ExceptionType2 e2) {// पकड़ो ब्लॉक} पकड़ (ExceptionType3 e3) {// पकड़ो ब्लॉक} आखिरकार {// अंत में ब्लॉक हमेशा निष्पादित होता है।}
अपवाद प्रदर्शित करने के तरीके
अपवाद जानकारी प्रदर्शित करने के लिए आप निम्न विधियों का भी उपयोग कर सकते हैं:
- PrintStackTrace () : यह फ़ंक्शन स्टैक ट्रेस, अपवाद का नाम और अन्य उपयोगी विवरण प्रिंट करता है।
- .String () : यह फ़ंक्शन अपवाद नाम और विवरण का वर्णन करते हुए एक पाठ संदेश लौटाता है।
- getMessage () : अपवाद का वर्णन प्रदर्शित करने में मदद करता है।
सारांश:
- एक अपवाद एक त्रुटि है जो एक कार्यक्रम के निष्पादन के समय होता है।
- ट्राइ-कैच: यह तरीका एक्सेप्शन को पकड़ सकता है, जो कि ट्राई का एक संयोजन इस्तेमाल करता है और कीवर्ड पकड़ता है।
- एकाधिक कैच आपको कोड के एक अलग ब्लॉक के साथ अलग-अलग प्रकार के अपवाद को संभालने में मदद करते हैं।
- थ्रो कीवर्ड का उपयोग एक्ससेप्शन को रन टाइम में संभालने के लिए फेंकने के लिए किया जाता है।
- PrintStackTrace (): यह फ़ंक्शन स्टैक ट्रेस, अपवाद का नाम और अन्य उपयोगी विवरण प्रिंट करता है
- .String (): यह फ़ंक्शन अपवाद नाम और विवरण का वर्णन करते हुए एक पाठ संदेश लौटाता है।
- getMessage (): अपवाद का वर्णन प्रदर्शित करने में मदद करता है।