कम्प्युटरकार्यक्रम

Java: अपवाद र आफ्नो ह्यान्डलिङ

कुनै पनि कार्यक्रम stably स्रोत कोड डिबग छ भने मात्र सञ्चालन हुनेछ, र त्यहाँ अवसर परिस्थिति पैदा गर्न सक्छ भन्ने कुनै अवस्था हो। सम्भव असफलता पक्रने को प्रक्रिया कार्यक्रम मञ्चमा बाहिर छ। यो गर्न, विकासकर्ता खाता सबै अपेक्षित परिणाम मा लिन्छ र यो कार्यक्रम सञ्चालन हस्तक्षेप गर्न सकिएन, त्यसैले वा यसको पतन नेतृत्व त्रुटि को प्रभाव सीमित गर्ने प्रयासहरू।

जब तपाईं अपवाद ह्यान्डलिङ आवश्यक हुन सक्छ

जावा मा, एक अपवाद द्वारा गलत प्रयोगकर्ता इनपुट को कारण हुन सक्छ, एक स्रोत वा अचानक नेटवर्क विच्छेदमा कार्यक्रम को लागि कुनै आवश्यक छैन। आवेदन विकासकर्ता द्वारा सिर्जना सहज प्रयोगको लागि, तपाईं आपतकालीन अवस्थामा को घटना नियन्त्रण गर्नुपर्छ। उपभोक्ता एक unhandled अपवाद, वा केही गलत भयो भनेर बताउँदै प्रकट सन्देश भाग को फलस्वरूप डाटा गुमाउन, अनुप्रयोग अन्त्य गर्न प्रतीक्षा गर्नु हुँदैन।

Java अपवाद हैंडलिंग

के विचार? जाभा भाषा यसको आफ्नै निर्मित अपवाद ह्यान्डलिङ कार्यक्षमता छ। को पाठ्यक्रम, त्रुटि को एक ठूलो प्रतिशत अर्को संकलनको चरण समातिएको छ, प्रणाली स्वचालित रूपमा अब सम्भव छ भनेर प्रयोग सूचित गर्नेछौं। तर देखने को समय हुन्छ कि अपवाद को यस प्रकारको छ। विकासकर्ता यो पूर्वानुमान र कोड डिजाइन यो एक त्रुटि कारण छैन भनेर सक्षम, र एक विशेष तरिकामा यो ह्यान्डल र अर्को शाखा गर्न नियन्त्रण भन्दा हस्तान्तरण गर्नुपर्छ।

जावा मा, यो एक अपवाद पकड गर्न संकलक लगाएको छ, त्यसैले विशिष्ट समस्या जानिन्छ र एक मानक व्यायाम ढाँचाको छ।

विशिष्ट बहिष्करण

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

प्रशोधन त्रुटि बाटोमै गर्न जाभा संयन्त्र यो जस्तो देखिन्छ:

  • हिप अपवाद वस्तु साथै कुनै पनि अन्य रूपमा बनाएको छ,;
  • कार्यक्रम को प्राकृतिक पाठ्यक्रम अवरूद्ध छ;
  • बहिष्करण संयन्त्र कोड जारी गर्न एक वैकल्पिक बाटो खोज्दै छ;
  • प्रोसेसर, काम मा कार्यक्रम को एक सुरक्षित कार्यान्वयन पाउन वा पुनःस्थापित, वा विशेष तरिकामा अपवाद को बोध हुनेछ।

त्रुटि सिर्जना यो जस्तो सक्छ को सरल उदाहरण:

यदि (एक == शून्य)

नयाँ NullPointerException फेंक ();

यहाँ, चर एक प्रारम्भ मा जाँच गरिन्छ, अर्थात्, एक शून्य वस्तुमा सन्दर्भ कि छ। यो अवस्था खडा र विशेष ह्यान्डलिङ आवश्यक छ भने, एक अपवाद एक फेंक नयाँ NullPointerException द्वारा हालियो छ ()।

किवर्ड बारेमा केही विवरण

अपवाद सामना गर्दा अक्सर एक विशेष कार्य उल्लेख गर्न खोजशब्द Java प्रयोग गर्न आवश्यक छ। आफ्नो पाँच कार्यक्रमको यो भाषा:

  • प्रयास गर्नुहोस्। यो शब्द छ पहिले नै भेट, र यो एक संक्रमण एक अपवाद फेंक गर्न सक्ने कोड को एक खण्ड मा हो। ब्लक सीमित ब्रेसहरू {}।
  • क्याच। यसलाई इच्छित अपवाद प्रकार अवरोध र उचित यसलाई सम्हाल्न।
  • अन्तमा। यो शब्द पनि यदि कुनै अपवाद पक्रेको छैन, वैकल्पिक छ र कोड, जसरी आवश्यक छ जो एक निश्चित टुक्रा प्रदर्शन गर्न प्रयोग गरिएको छ। सीधा प्रयास ब्लक पछि थपियो।
  • फेंक - तपाईं जहाँबाट Java अपवाद सिर्जना गर्न अनुमति दिन्छ।
  • Throws - विधि हस्ताक्षर मा राखिएको छ कि एक खोजशब्द। यसलाई निम्न कोड यस प्रकार Java एक अपवाद फेंक गर्न सक्छन् भन्ने हो। उहाँलाई अपेक्षित रूपमा विधि काम गर्न सक्दैन - यो चिन्ह चाहिन्छ भनेर मनमा सार्ने गर्न विकासकर्ताहरू संकेत गर्दछ।

एक प्रयास संग पक्रने

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

जाभा कोड विशेष ब्लक प्रयास गर्नुहोस्, एउटा अपवाद हुन सक्छ जो भित्र मा र्याप छ। तसर्थ, उहाँले नै ठाँउ, छैन raspolzayas कोड समातिए गरिने धेरै अवसर परिस्थिति राख्नुभयो।

निम्नानुसार प्रक्रिया एकाइ सबैभन्दा विशिष्ट कोड:

प्रयास {

// यहाँ एक अपवाद उत्पन्न गर्न सक्छ भन्ने केही कोड छ

} क्याच (Tip_isklyucheniya_1 identifikator_1) {

// यहाँ अपवाद ह्यान्डलिङ छ, यसको प्रकार र अवस्था अनुसार;

} क्याच (Tip_isklyucheniya_2 identifikator_2) {

// यहाँ अपवाद ह्यान्डलिङ छ, यसको प्रकार र अवस्था अनुसार;

}

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

अन्तमा

यो अघिल्लो अध्याय देखि स्पष्ट भए जस्तै, क्याच ब्लक अपवाद पकड र तिनीहरूलाई प्रक्रिया। तर अक्सर स्थिति खडा जहाँ केही कोड चलान गर्नुपर्छ तिनीहरूले समातिए गल्ती थियो कि बिना। यो त्यहाँ बल्ल खोजशब्द छ। यसलाई बन्द फाइल वा नेटवर्क जडानहरू, विभिन्न काउन्टरहरू को मान वृद्धि गर्न प्रयोग गरिएको छ।

यो षड्यन्त्र धेरै क्याच ब्लक विधिहरू अपवाद पकड आविष्कार प्रस्तुत। उदाहरणका लागि, प्रयास मा निहित कोड अनपेक्षित अवस्था शीत जस्तै उत्पन्न गर्छ। त्यसपछि, कन्सोल प्रदर्शित हुनेछ अभिव्यक्ति «चिसो पकडे!» अनि «बारेमा? केहि मज्जा गर्न छ»। कि, अन्तमा ब्लक कुनै पनि मामला मा कार्यान्वयन छ।

वास्तवमा, अन्तमा त्यहाँ ट्रिगरिङ बच्न एक तरिका हो। यो भर्चुअल मिसिन को पूरा साथ जोडिएको छ। यसलाई कसरी लागू गर्न पाउन, यो इन्टरनेट खुला रिक्त स्थान मा सम्भव छ।

फेंक खोजशब्द

फेंक एक अपवाद उत्पन्न गर्छ। निम्नानुसार यसको विन्यास छ:

नयाँ NewException फेंक ();

त्यहाँ प्रकार NewException एक नयाँ अपवाद बनाएको छ ()। प्रयोग गर्न सकिन्छ प्रकार पहिले नै मानक Java पुस्तकालय कक्षाहरू मा समावेश गरिएको छ र पहिले यसको आफ्नै उत्पादन विकासकर्ता द्वारा परिभाषित।

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

खोजशब्द फेंकता

के भने जहाँ विधि एउटा अपवाद फेंक गर्न सक्छन्, तर राम्ररी ह्यान्डल गर्न सक्षम छन् अवस्थामा को विकास को प्रक्रिया मा। यो अन्त गर्न, विधि हस्ताक्षर शब्द फेंकता र सम्भव अपवाद को प्रकार निर्दिष्ट गर्दछ।

यो लेबल विधि आफ्नो नै अपवाद ह्यान्डल गर्न सक्षम छैन भन्ने ग्राहक विकासकर्ताहरूको लागि सूचक एक प्रकारको छ। साथै, त्रुटि प्रकार जाँच गरिन्छ भने, त्यसपछि संकलक स्पष्ट बल गर्नेछ यसको लागि अनुरोध।

स्रोतहरू प्रयास

जाभा संस्करण 7 विकासकर्ताहरूले स्रोतहरू एक उपचार प्रयास ब्लक रूपमा एक प्रमुख नवीनता, समावेश छन्।

प्रयोग स्रोतहरू संरक्षण गर्न बन्द गर्नुपर्छ पछि धेरै वस्तुहरु, जावा मा बनाईएको हो। पहिले यो खातामा यो लिन र स्वयं यी उदाहरणहरू रोक्न थियो। अब तथापि, तिनीहरूले AutoClosable इन्टरफेस देखियो। स्वतः पहिले नै प्रयोग वस्तुहरु चलाएर हेर्नुहोस् ब्लक मा राखिएको बन्द गर्न मद्दत गर्छ। यो दृष्टिकोण मार्फत यसलाई आफ्नो readability एकदम वृद्धि भयो मा कोड लेख्न थप सुविधाजनक भएको छ।

आफ्नै कक्षाहरू Java अपवाद

को वर्णन कार्यक्रम भाषा को निर्माताहरू emergencies को डिजाइन प्रकार को खाता थुप्रै पक्षहरू मा लगे। तर, विकल्प सबै रोक्न घटनाहरू नतिजा Java आफ्नै अपवाद परिभाषित गर्ने क्षमता कार्यान्वयन मा त, काम गर्ने छैनन्, यो विशेष कोड को आवश्यकता गर्न उपयुक्त छ।

सिर्जना गर्न सरल तरिका - वस्तु सन्दर्भ गर्न सबैभन्दा उपयुक्त बाट हकदार गर्न।

तपाईंको आफ्नै अपवाद परिभाषित गर्न प्रयोग गरिन्छ कि वर्ग अपवाद देखि हकदार त्यहाँ भयो। पूर्वनिर्धारित, दोस्रो - - तर्क MSG प्रकार स्ट्रिङ संग MyException दुई भवन निर्माताहरु छ।

त्यसपछि, सार्वजनिक कक्षा FullConstructors कार्यान्वयन विधि च, हस्ताक्षर समावेश जसमा MyException फेंकता। यो शब्द च Java MyException अपवाद जस्तै फेंक गर्न सक्छन् भन्ने हो। यसबाहेक, विधि शरीर मा कन्सोल नै र वास्तविक पुस्ता MyException फेंक द्वारा, पाठ जानकारी उत्पादन उत्पादित।

दोस्रो विधि पक्रने मा कन्सोल प्रतिबिम्बित हुने जो तपाईं एक अपवाद सिर्जना गर्दा, यो स्ट्रिङ प्यारामिटर पारित गरिएको छ कि पहिलो देखि अलि फरक छ। मुख्य मा च () र जी () चलाएर हेर्नुहोस् जाँच मा राखिएको छन् र खोजशब्द क्याच MyException कब्जा गर्न कन्फिगर गरिएको भन्ने कुरा स्पष्ट छ। प्रशोधन को परिणाम कन्सोलमा त्रुटि सन्देश प्रदर्शन गर्न छ:

यसरी यो आफ्नै हात द्वारा, Java अपवाद थप्न आए।

वास्तुकला अपवाद

जावा मा सबै वस्तुहरु रूपमा, अपवाद पनि जन्मजात र पदानुक्रमित संरचना छ छन्। यो कार्यक्रम भाषामा हालियो सबै त्रुटिहरू को मूल तत्त्व वर्ग java.lang.Throwable छ। उसलाई दुई प्रकार देखि जन्मजात - त्रुटि र अपवाद।

त्रुटि - डरलाग्दो त्रुटि संकेत र जाँच नगरिएको Java अपवाद छ। प्रायजसो interception र यस्तो डाटा प्रोसेसिंग डिजाइन चरण मा हुन्छ र अन्तिम आवेदन कोड शुरू को आवश्यकता मा।

को प्रयोग सबैभन्दा सामान्यतः सिर्जना र अपवाद विश्लेषण लागि वर्ग अपवाद छ। जो, बारी मा, RuntimeException सहित धेरै शाखा, विभाजन गरिएको छ। RuntimeException द्वारा छन् रनटाइम अपवाद, कि छ, कार्यक्रम समयमा निरन्तर। यसलाई देखि व्युत्पन्न सबै वर्ग unverifiable छन्।

अक्सर अपवाद छन्

Java अपवाद मा, जो को सूची तल, प्रस्तुत छ तपाईं विस्तार तिनीहरूलाई प्रत्येक वर्णन गर्नुपर्छ त, सबै भन्दा अक्सर प्रयोग गरिन्छ:

  • ArithmeticException। यी गणित संचालन सम्बन्धित त्रुटिहरू समावेश गर्नुहोस्। सबैभन्दा glaring उदाहरण - शून्य द्वारा विभाजन।
  • ArrayIndexOutOfBoundsException - यसको लम्बाइ को कुल नाघ्यो कि एरे तत्व नम्बरमा अपील।
  • ArrayStoreException - सरणी को एउटा नमिल्दो तत्व प्रकार नियुक्त गर्न प्रयास।
  • ClassCastException - अर्को गलत एक प्रकार ल्याउन प्रयास।
  • IllegalArgumentException - विधि कलमा गलत तर्क प्रयोग गरेर।
  • NegativeArraySizeException - तपाईं नकारात्मक आकार को एक एरे सिर्जना गर्दा एउटा अपवाद।
  • NullPointerException - रिक्त सन्दर्भहरू को दुरुपयोग।
  • NumberFormatException - पूर्णांक एउटा गलत स्ट्रिङ रूपान्तरण गर्दा हुन्छ।
  • UnsupportedOperationException - संचालन समर्थित छैन।

यी उदाहरण जाँच नगरिएको Java अपवाद प्रकार प्रतिनिधित्व गर्छ। तर यति हेर जाँच:

  • ClassNotFoundException - क्लास फेला परेन।
  • IllegalAcccessException - कक्षा पहुँच निषेध।
  • InterruptedException - प्रवाह को अवरोध।
  • NoSuchFieldException - कुनै आवश्यक क्षेत्र हो।

को अपवाद को व्याख्या

प्राय सामना अपवाद को बोल्ने डिजाइन आफ्नो व्याख्या, गलत तरिकाले कथित गर्न सकिन्छ भनेर उल्लेख गर्नुपर्छ। अर्को एउटा अनपेक्षित अवस्था हुन सक्छ जहाँ थप विवरण, मा व्याख्या छोटो सूची हो।

NullPointerException। त्यहाँ एक अपवाद छ जब, धेरै पहिले मामला रिक्त बराबर छ कि वस्तु एक सन्दर्भ अपिल छ। यो पनि शून्य वर्ग उदाहरणका विधिहरू गर्न को विस्तार। NullPointerException एक बराबर लम्बाइ शून्य एरे प्राप्त को मामला मा हालियो हुन सक्छ। समय समयमा शून्य मा साइटहरु जाँच गर्नेछ यस्तो अवस्थामा जोगिन।

ArrayIndexOutOfBoundsException। कुनै पनि कार्यक्रम arrays को प्रयोग बिना अवस्थित गर्न सक्दैन। तदनुसार, यो गर्न बारम्बार recourse उत्पन्न र त्रुटि गर्न सक्नुहुन्छ। एक डेभलपर छ कि सूचकांक सूचीमा छैन एरे तत्व पहुँच गर्न प्रयास गर्दा अपवाद हुन्छ। उदाहरणका लागि, अनुरोध गरिएको मूल्य माथि वा तल शून्य लम्बाइ छ। अक्सर एर्रेमा शून्य एक स्कोर सुरु भन्ने तथ्यलाई को परिणाम हो।

निष्कर्ष

हैंडलिंग Java अपवाद - निकै प्रोग्रामर को काम सुविधा र उसलाई सफा र कोड त्रुटिहरू को devoid सिर्जना गर्न अनुमति दिन्छ जो एउटा शक्तिशाली उपकरण वातावरण। कसरी चिल्लो र स्थिर कामकाज आवेदन मा विकासकर्ता स्थिति र प्रतिष्ठा मा निर्भर गर्दछ।

निस्सन्देह, अझ वा कम सरल कार्यक्रम मा असामान्य परिस्थिति धेरै सजिलो पहिल्याउन। तर एक सय केही हजार लाइनहरु को लागि ठूलो स्वचालित परिसर मा मात्र दीर्घकालीन परीक्षण र डिबग फलस्वरूप सम्भव छ।

केही अनुप्रयोगमा उत्पन्न जो देखि जावा अपवाद त्रुटि लागि, तिनीहरूले उत्साही फेला गर्दा केही कम्पनीहरु एक इनाम प्रस्ताव। विशेष गरी सुरक्षा नीति सफ्टवेयर उल्लङ्घनको कारण छ कि ती द्वारा सराहना।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ne.delachieve.com. Theme powered by WordPress.