কম্পিউটারপ্রোগ্রামিং

জাভা: ব্যতিক্রম এবং তাদের হ্যান্ডলিং

কোন প্রোগ্রাম স্কো.মি. কাজ করবে শুধুমাত্র যদি সোর্স কোড debugged করা হয়, এবং সেখানে কোন শর্ত যে অভাবিত পরিস্থিতিতে সৃষ্টি করতে পারে আছে। সম্ভব ব্যর্থতা ধরার প্রক্রিয়া প্রোগ্রামিং মঞ্চে বাহিত হয় আউট। এই কাজের জন্য, বিকাশকারী অ্যাকাউন্টের সব প্রত্যাশিত ফলাফল লাগে এবং এরর প্রভাব সীমিত করতে যাতে এটি প্রোগ্রামের অপারেশন হস্তক্ষেপ করতে পারে না, বা তার পতন হতে চেষ্টা করে।

আপনি ব্যতিক্রম হ্যান্ডলিং প্রয়োজন হতে পারে যখন

জাভা, একটি ব্যতিক্রম ভুল ব্যবহারকারীর ইনপুট কারণেও হতে পারে একটি সম্পদ বা আকস্মিক নেটওয়ার্কের বিচ্ছিন্ন প্রোগ্রামের জন্য কোন প্রয়োজন নেই। অ্যাপ্লিকেশন ডেভেলপার দ্বারা নির্মিত আরামদায়ক ব্যবহারের জন্য, আপনি জরুরী অবস্থার সংঘটন নিয়ন্ত্রণ উচিত নয়। ভোক্তা একটি Unhandled ব্যতিক্রম, অথবা একটি বার্তা শুধু অংশ জানায় প্রদর্শিত যে কিছু ভুল ফলে ডেটা হারাতে চাই, একটি অ্যাপ্লিকেশন প্রস্থান করার জন্য অপেক্ষা করতে হবে করা উচিত নয়।

জাভা ব্যতিক্রম পরিচালনা

কি বিবেচনা কিভাবে? জাভা ভাষা তার নিজস্ব বিল্ট-ইন ব্যতিক্রম হ্যান্ডলিং কার্যকারিতা থাকে। অবশ্য, ত্রুটির একটি বড় অংশ অন্য সংকলন পর্যায় হাতে ক্যাচ হয়, সিস্টেম স্বয়ংক্রিয়ভাবে এটি আর সম্ভব নয় ব্যবহারের অবহিত করা হবে। কিন্তু যে রানটাইম ঘটে ব্যতিক্রম এই ধরনের হয়। ডেভেলপার একটি বিশেষ উপায়ে তা নিয়ে নাড়াচাড়া এবং অন্য শাখায় নিয়ন্ত্রণ হস্তান্তর এটা কহা এবং কোড ডিজাইন করতে যাতে এটি একটি ত্রুটি সৃষ্টি করা হয়নি সক্ষম হওয়া উচিত, এবং।

জাভা, এই কম্পাইলার দ্বারা আরোপিত হয় একটি ব্যতিক্রম ধরা, তাই টিপিক্যাল সমস্যার পরিচিত হয় এবং একটি প্রমিত ব্যায়াম নিদর্শন আছে।

টিপিক্যাল বহিষ্কার

সরলতম উদাহরণ, যার মাধ্যমে আপনি একটি ব্যতিক্রম পেতে পারেন - এই বিভাজন। তার সরলতা সত্ত্বেও, পদ, একটি বিভাজক হিসাবে, শূন্য, যা একটি ত্রুটি পরিণাম ডেকে আনবে করা যেতে পারে। ওয়েল, যদি সন্ভব হয় তবে অতীতের উত্থান ভবিষ্যদ্বাণী করা এবং প্রতিরোধ। কিন্তু এই অপশনটি সবসময় পাওয়া যায় না, তাই ব্যতিক্রম সংক্রামক "শূন্য দ্বারা বিভক্ত করা" র ঘটনা সরাসরি সংগঠিত করতে হবে।

প্রক্রিয়াজাতকরণ ত্রুটি রূখা জাভা প্রক্রিয়া ভালো দেখায়:

  • গাদা ব্যতিক্রম বস্তুর পাশাপাশি অন্য কোন হিসাবে সৃষ্টি করা হয়;
  • প্রোগ্রামের প্রাকৃতিক কোর্সের বিঘ্নিত হয়;
  • বর্জন প্রক্রিয়া কোড অব্যাহত রাখার জন্য একটি বিকল্প উপায় খুঁজে বের করার চেষ্টা করা হয়;
  • প্রসেসর, কাজে প্রোগ্রামের একটি নিরাপদ সঞ্চালনের খুঁজুন অথবা পুনরুদ্ধার, অথবা একটি বিশেষ পদ্ধতিতে ব্যতিক্রমের উপলব্ধি ঘটবে।

একটি ত্রুটি তৈরি ভালো চেহারা হতে পারে সহজ উদাহরণ:

যদি (ক == নাল)

নতুন নালপয়েন্টারএক্সেপশন নিক্ষেপ ();

এখানে, পরিবর্তনশীল একটি আরম্ভের সময়ে পরীক্ষা করা হয়, অর্থাত, নয় কিনা নাল বস্তু রেফারেন্স। এই অবস্থায় উদিত এবং বিশেষ হ্যান্ডলিং প্রয়োজন হয়ে থাকে, একটি ব্যতিক্রম একটি থ্রো নতুন নালপয়েন্টারএক্সেপশন দ্বারা নিক্ষিপ্ত হয় ()।

কিওয়ার্ড সম্পর্কে কিছু বিবরণ

যখন ব্যতিক্রম সঙ্গে তার আচরণ প্রায়ই শব্দ জাভা ব্যবহার করার জন্য একটি বিশেষ কর্ম পড়ুন করা প্রয়োজন। তাদের পাঁচ প্রোগ্রামিং এই ভাষাটি:

  • ব্যবহার করে দেখুন। এই শব্দ হয় ইতিমধ্যে পূরণ করেছে, এবং এটা একটি কোড অধ্যায় যে একটি ব্যতিক্রম নিক্ষেপ করতে পারেন মধ্যে একটি রূপান্তরটি মানে। ব্লক সীমিত ধনুর্বন্ধনী {}।
  • ক্যাচ। এটা তোলে আকাঙ্ক্ষিত ব্যতিক্রম টাইপ বিছিন্ন করে এবং এটা উপযুক্তভাবে হ্যান্ডেল।
  • অবশেষে। এই শব্দ ঐচ্ছিক এবং কোড, যা যাহাই হউক না কেন প্রয়োজন বোধ করা হয় একটি নির্দিষ্ট স্থানের সঞ্চালন করতে ব্যবহৃত হয়, এমনকি যদি এর ব্যতিক্রম ধরা হয় না। সরাসরি তৃতীয় বন্ধনীর পর যোগ করা হয়েছে।
  • নিক্ষেপ - আপনি যে কোন জায়গা থেকে জাভা ব্যতিক্রম তৈরি করতে দেয়।
  • ছোঁড়ার - একটি শব্দ যে পদ্ধতি স্বাক্ষরে স্থাপন করা হয়। এর মানে নিম্নলিখিত কোড এই ধরনের জাভার একটি ব্যতিক্রম নিক্ষেপ করতে পারেন। পদ্ধতি তাকে আশানুরূপ কাজ করতে পারবে না - এই চিহ্ন ডেভেলপারদের প্রয়োজন যে মনের মধ্যে বহন করা একটি সংকেত হিসেবে কাজ করে।

ব্যবহার করে দেখুন সঙ্গে আকর্ষণীয়

জাভা ব্যতিক্রম করার জন্য রিলিজ, স্বাভাবিকভাবেই ধরে নেয় যে এটি একটি বিশেষ ভাবে পরিচালিত হবে। সবচেয়ে সুবিধাজনক উপায় এটা করতে, যদি কোড অধ্যায় একটি ব্লক বন্ধ বেড়ার দ্বারা পরিবেষ্টিত হয়। যা একটি ব্যতিক্রম থাকতে পারে। যখন আপনি এই কোড রান, ভার্চুয়াল মেশিন, একটি অপ্রত্যাশিত পরিস্থিতি পাবেন বুঝতে সমালোচনামূলক ব্লক আছে এবং স্থানান্তর প্রক্রিয়াজাতকরণ স্টেশনে নিয়ন্ত্রণ করে।

জাভা কোড একটি বিশেষ ব্লক ব্যবহার করে দেখুন, যার মধ্যে একটি ব্যতিক্রম হতে পারে জড়িয়ে রাখা হয়েছে। এভাবে তিনি বিভিন্ন অভাবিত পরিস্থিতিতে একই স্থানে, না raspolzayas কোড ধরা পড়বে স্থাপন।

প্রসেসিং ইউনিট সবচেয়ে সাধারণ কোড নিম্নরূপ:

পরখ করে দেখুন {

// এখানে কিছু কোড যা একটি ব্যতিক্রম উৎপন্ন হতে পারে

} ক্যাচ (Tip_isklyucheniya_1 identifikator_1) {

// এখানে সেখানে ব্যতিক্রম হ্যান্ডলিং, তার ধরন ও শর্ত অনুযায়ী;

} ক্যাচ (Tip_isklyucheniya_2 identifikator_2) {

// এখানে সেখানে ব্যতিক্রম হ্যান্ডলিং, তার ধরন ও শর্ত অনুযায়ী;

}

কী খুঁজতে হবে ধরা যে কোড প্রতিবেদন, এবং একটি ব্যতিক্রম জন্য এটি স্ক্যান, যেমন নীচে বর্ণিত চিকিত্সা করা, প্রদান করা যে এটা তার টাইপ মেনে চলে। শনাক্তকারী আর্গুমেন্ট হিসাবে কোড ব্লক প্রক্রিয়াকরণের ব্যবহার করা যাবে।

পরিশেষে

এটি আগের অধ্যায়ে থেকে পরিষ্কার হয়ে ওঠে, ধরা ব্লক ব্যতিক্রম ধরা ও সেগুলিকে প্রক্রিয়া। কিন্তু খুব প্রায়ই অবস্থা দেখা দেয় দুটো কারণে যেখানে কিছু কোড, কিনা তারা ভুল ধরা খেয়েছে নির্বিশেষে চালানো উচিত। এই সেখানে শব্দ পরিশেষে হয়। এটি বিভিন্ন কাউন্টারে মান বৃদ্ধি করতে, ফাইল অথবা নেটওয়ার্ক সংযোগ বন্ধের ব্যবহার করা হয়।

এই চক্রান্ত বিভিন্ন ধরা ব্লক উদ্ভাবিত পদ্ধতি ব্যতিক্রম ধরা উপস্থাপন করে। উদাহরণ হিসেবে বলা যায়, কোড ব্যবহার করে দেখুন অন্তর্ভুক্ত কোল্ড যেমন একটি অপ্রত্যাশিত পরিস্থিতি তৈরি করে। তারপর, কনসোল অভিব্যক্তি «ঠাণ্ডা লেগেছে!» প্রদর্শিত হবে এবং «হয়? প্রফুল্ল করার জন্য কিছু আছে কি»। অর্থাৎ পরিশেষে ব্লক কোনো ক্ষেত্রে মৃত্যুদন্ড কার্যকর করা হয়।

আসলে, একটি উপায় পরিশেষে সেখানে triggering এড়ানো। এটা তোলে ভার্চুয়াল মেশিন সম্পন্ন সাথে সংযুক্ত নেই। এটি বাস্তবায়ন কিভাবে খুঁজে এটা ইন্টারনেট খোলা স্পেস উপর সম্ভব।

নিক্ষেপ শব্দ

নিক্ষেপ একটি ব্যতিক্রম জেনারেট করে। তার বাক্য গঠন নিম্নরূপ:

নতুন NewException নিক্ষেপ ();

টাইপ NewException করার জন্য একটি নতুন ব্যতিক্রম আছে তৈরি করা হয় ()। একটি টাইপ ব্যবহার করা যেতে পারে ইতিমধ্যে মান জাভা লাইব্রেরি শ্রেণীর মধ্যে অন্তর্ভুক্ত করা হয় এবং পূর্বে নিজস্ব উৎপাদনের ডেভেলপার দ্বারা সংজ্ঞায়িত করে।

এই নকশা কোন পদ্ধতি বর্ণনা, যা কল তারপর তৃতীয় বন্ধনীর মধ্যে ঘটা উচিত, যাতে এটা রূখা পাবে মধ্যে অংশ।

কী খুঁজতে হবে ছোঁড়ার

কী এক অবস্থা যেখানে পদ্ধতি একটি ব্যতিক্রম নিক্ষেপ করতে পারেন, কিন্তু সঠিকভাবে পরিচালনা করতে সক্ষম হয় না বিকাশের প্রক্রিয়ায় পারেন। এই শেষ, পদ্ধতি স্বাক্ষরে নির্দিষ্ট করে শব্দ ছোঁড়ার এবং সম্ভব ব্যতিক্রম প্রকার।

এই লেবেলের ক্লায়েন্ট ডেভেলপারদের জন্য নির্দেশক এক ধরনের যে পদ্ধতি তাদের একই ব্যতিক্রম পরিচালনা করতে সক্ষম নয়। এছাড়াও, যদি ত্রুটির প্রকার পরীক্ষা করা হয়, তারপর কম্পাইলার স্পষ্টভাবে বাধ্য করা হবে তার জন্য জিজ্ঞাসা করুন।

সম্পদ করার চেষ্টা করুন

জাভা সংস্করণ 7 ডেভেলপারদের সম্পদ সঙ্গে একটি চিকিত্সা ব্যবহার করে দেখুন ব্লক হিসাবে একটি প্রধান নতুনত্ব, অন্তর্ভুক্ত করেছেন।

অনেক বস্তু, জাভা নির্মিত পর ব্যবহারের শাট ডাউন করা উচিত সম্পদ সংরক্ষণ করতে। পূর্বে এটি একাউন্টে এই গ্রহণ করা এবং এই ক্ষেত্রে নিজে বন্ধ করতে হয়েছিল। এখন, যাইহোক, তারা AutoClosable ইন্টারফেস হাজির। এটি স্বয়ংক্রিয়ভাবে ইতিমধ্যেই ব্যবহার বস্তু ব্যবহার করে দেখুন ব্লক স্থাপন বন্ধ করতে সাহায্য করে। এই পদ্ধতির মাধ্যমে এটি তার পাঠযোগ্যতা উল্লেখযোগ্যভাবে বৃদ্ধি পায় কোড লিখতে আরও বেশি সুবিধাজনক হয়ে উঠেছে।

নিজস্ব শ্রেণীর জাভা ব্যতিক্রম

বর্ণনা প্রোগ্রামিং ভাষা এর নির্মাতাদের জরুরী নকশা ধরনের অ্যাকাউন্ট অনেক দিক বিবেচনায় নেয়া হয়েছে। যাইহোক, ঘটনা পরিণতি কাজ করবে না, তাই জাভা তাদের নিজস্ব ব্যতিক্রম নির্ধারণ করার ক্ষমতা বাস্তবায়িত প্রতিরোধ সমস্ত বিকল্পগুলির, এটা বিশেষ কোডের প্রয়োজন উপযুক্ত।

সহজ উপায় তৈরি করার জন্য - বস্তুর প্রসঙ্গ সবচেয়ে উপযুক্ত থেকে উত্তরাধিকারী।

এখন পর্যন্ত, ব্যতিক্রম থেকে উত্তরাধিকারী ঘটেছে বর্গ যে আপনার নিজের ব্যতিক্রম সংজ্ঞায়িত করতে ব্যবহৃত হয়। একটি ডিফল্ট, দ্বিতীয় - - যুক্তি বার্তা টাইপ স্ট্রিং সঙ্গে MyException দুটি কন্সট্রাকটর হয়েছে।

তারপর, পাবলিক শ্রেণীকক্ষ FullConstructors বাস্তবায়িত পদ্ধতি চ, যা স্বাক্ষর থাকে MyException ছোঁড়ার। এই শব্দ এর মানে হল যে চ জাভা MyException ব্যতিক্রম মত নিক্ষেপ করতে পারেন। উপরন্তু, পদ্ধতি দেহে কনসোল নিজেই এবং প্রকৃত প্রজন্ম MyException, থ্রো দ্বারা পাঠ্য তথ্য আউটপুট উত্পাদিত।

দ্বিতীয় পদ্ধতি প্রথম এক যে আপনি যখন একটি ব্যতিক্রম তৈরি, এটি একটি স্ট্রিং প্যারামিটার পাস করা হয়েছে, যা সংক্রামক এ কনসোলে প্রতিফলিত হবে থেকে সামান্য ভিন্ন। প্রধান ইন এটা স্পষ্ট যে চ () এবং জি () ব্যবহার করে দেখুন পরীক্ষণ মধ্যে স্থাপন করা হয় এবং শব্দ ধরা MyException ক্যাপচার করার জন্য কনফিগার। প্রক্রিয়াকরণ ফল কনসোলে একটি ত্রুটির বার্তা প্রদর্শন করে হল:

সুতরাং এটা জাভা ব্যতিক্রম যোগ করার জন্য, তার নিজের হাতে এসেছে।

আর্কিটেকচার ব্যতিক্রম

জাভা সমস্ত বস্তু হিসাবে, ব্যতিক্রম এছাড়াও উত্তরাধিকারসূত্রে এবং একটি হায়ারারকিকাল কাঠামো রয়েছে। এই প্রোগ্রামিং ল্যাঙ্গুয়েজ নিক্ষিপ্ত সব ত্রুটি মূল উপাদান বর্গ java.lang.Throwable হয়। তাকে দুই ধরণের থেকে ইনহেরিটেড - ত্রুটি এবং ব্যতিক্রম।

ত্রুটি - সমালোচনামূলক ত্রুটি সিগন্যাল ও অবারিত জাভা ব্যতিক্রম নয়। বাধাগুলি এবং বেশিরভাগ ক্ষেত্রেই প্রক্রিয়াকরণ যেমন তথ্য নক্সা পর্যায় ঘটে এবং চূড়ান্ত আবেদন কোডে প্রবর্তনের প্রয়োজন নেই।

সবচেয়ে বেশি ব্যবহৃত তৈরি এবং ব্যতিক্রম বিশ্লেষণের জন্য বর্গ ব্যতিক্রম নয়। কোনটি, ঘুরে, RuntimeException সহ বিভিন্ন শাখা, বিভক্ত করা হয়। দ্বারা RuntimeException রানটাইম ব্যতিক্রম, প্রোগ্রাম সময় ঘটছে হয়, যে হয়। তা থেকে উদ্ভূত সকল শ্রেণীর unverifiable হয়।

প্রায়শই সেখানে ব্যতিক্রম আছে

জাভা ব্যতিক্রম সালে, যার মধ্যে তালিকা নিচে উপস্থাপন করা হয়, সবচেয়ে প্রায়ই ব্যবহার করা হয় তাই আপনি বিষদভাবে তাদের প্রতিটি বর্ণনা করা উচিত:

  • ArithmeticException। এই গাণিতিক অপারেশন সঙ্গে যুক্ত ত্রুটি অন্তর্ভুক্ত। সবচেয়ে উজ্জ্বল দৃষ্টান্ত - শূন্য দ্বারা বিভাগ।
  • ArrayIndexOutOfBoundsException - অ্যারে উপাদান সংখ্যা যে তার দৈর্ঘ্য মোট ছাড়িয়ে গেছে করার জন্য একটি আবেদন।
  • ArrayStoreException - অ্যারের একটি বেমানান উপাদান টাইপ দায়িত্ব অর্পণ করা প্রচেষ্টা।
  • ClassCastException - অন্য ভুল এক ধরনের আনতে একটি প্রচেষ্টা।
  • IllegalArgumentException - পদ্ধতি কলে ভুল যুক্তি ব্যবহার করে।
  • NegativeArraySizeException - একটি ব্যতিক্রম যখন আপনি নেতিবাচক আকারের একটি অ্যারের তৈরি করুন।
  • নালপয়েন্টারএক্সেপশন - রেফারেন্স অপব্যবহার নাল।
  • NumberFormatException - ঘটে পূর্ণসংখ্যা করার জন্য একটি ভুল স্ট্রিং রূপান্তর করে।
  • UnsupportedOperationException - অপারেশন সমর্থিত নয়।

এই উদাহরণগুলি অবারিত জাভা ব্যতিক্রম ধরনের প্রতিনিধিত্ব করে। কিন্তু চেক করা দেখুন:

  • ClassNotFoundException - ক্লাস পাওয়া যায়নি।
  • IllegalAcccessException - শ্রেণী অ্যাক্সেস সীমাবদ্ধ।
  • InterruptedException - প্রবাহ বাধা।
  • NoSuchFieldException - কোন প্রয়োজনীয় ক্ষেত্র আছে।

ব্যতিক্রম ব্যাখ্যা

ঘন ঘন সম্মুখীন ব্যতিক্রম কথা বলছেন উল্লেখ করা উচিত যে নকশা তাদের ব্যাখ্যা, ভুল অনুভূত হতে পারে। পরবর্তী অল্প আরো বিস্তারিত, যেখানে একটি অপ্রত্যাশিত পরিস্থিতি সেখানে থাকতে পারে এমন ব্যাখ্যা তালিকা রয়েছে।

নালপয়েন্টারএক্সেপশন। খুব প্রথম ক্ষেত্রে যখন একটি ব্যতিক্রম আছে, একটি অবজেক্ট যে নাল সমান একটি রেফারেন্স আপীল হয়। এছাড়া শূন্য বর্গ উদাহরণস্বরূপ পদ্ধতি প্রযোজ্য হইবে। নালপয়েন্টারএক্সেপশন একটি সমান দৈর্ঘ্য নাল অ্যারের প্রাপ্তির ক্ষেত্রে নিক্ষিপ্ত হতে পারে। পর্যায়ক্রমে নাল উপর সাইট চেক করবে এ ধরনের পরিস্থিতি এড়ানোর জন্য।

ArrayIndexOutOfBoundsException। কোন প্রোগ্রাম অ্যারে ব্যবহার না করে উপস্থিত হতে পারে না। তদনুসারে, ঘন আশ্রয় এটি তৈরী করা এবং এরর পারবেন না। ব্যতিক্রম ঘটে যখন একজন বিকাশকারী একটি অ্যারের উপাদান সূচকের তালিকায় না থাকে অ্যাক্সেস করার চেষ্টা করে। উদাহরণ হিসেবে বলা যায়, অনুরোধ করা মান উপরে বা শূন্য দৈর্ঘ্য করুন। অত্যন্ত প্রায়ই সত্য অ্যারের মধ্যে শূন্য স্কোর দিয়ে শুরু হয় যে একটি ফল।

তথ্যও

জাভা ব্যতিক্রম পরিচালনা - একটি শক্তিশালী হাতিয়ার পরিবেশ, যা ব্যাপকভাবে প্রোগ্রামার কাজ সমাধা এবং তাকে একটি পরিষ্কার এবং কোড ত্রুটি বর্জিত তৈরি করতে পারবেন। কিভাবে মসৃণ এবং স্থিতিশীল কার্যকরী আবেদন স্থিতি এবং বিকাশকারী খ্যাতি উপর নির্ভর করে।

অবশ্যই, একটি বা আরো কম সহজ প্রোগ্রাম অস্বাভাবিক পরিস্থিতিতে অনেক সহজ ট্রেস। কিন্তু কয়েক শত হাজার লাইনের জন্য বৃহৎ স্বয়ংক্রিয় কমপ্লেক্স সেটি শুধুমাত্র দীর্ঘমেয়াদী টেস্টিং এবং ডিবাগিং ফলে সম্ভব।

জাভা ব্যতিক্রম ত্রুটি ঘটেছে, যা থেকে কিছু অ্যাপ্লিকেশনের মধ্যে উঠা, কিছু কোম্পানি একটি পুরস্কার অফার যখন তারা উত্সাহীদের পাবেন। বিশেষ করে ঐ যে নিরাপত্তা নীতি সফ্টওয়্যার লঙ্ঘন কারণ দ্বারা প্রশংসা করা।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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