ওরাকল জাভা টিউটোরিয়ালে কেন বনাম বনাম চেক করা ব্যতিক্রমগুলি "বিতর্ক" বলা হয়?


10

আমি জাভাতে নতুন এবং এর ব্যতিক্রমগুলি সম্পর্কিত ডকুমেন্টেশন পড়ছি , এবং বিশেষত চেক করা ব্যতিক্রম - বিতর্ক পৃষ্ঠা।

নীচের অংশটি বলে:

যদি কোনও ক্লায়েন্ট যুক্তিসঙ্গতভাবে কোনও ব্যতিক্রম থেকে পুনরুদ্ধার প্রত্যাশা করতে পারে তবে এটিকে চেক করা ব্যতিক্রম করুন। যদি কোনও ক্লায়েন্ট ব্যতিক্রম থেকে পুনরুদ্ধার করতে কিছু করতে না পারে, তবে এটি একটি চেক করা ব্যতিক্রম করুন।

আমি নিবন্ধটি বুঝতে পারি না। কি "বিতর্ক" সব সম্পর্কে? আপনি সহজ কথায় এটি ব্যাখ্যা করতে পারেন?




দয়া করে আপডেট হওয়া প্রশ্নটি দেখুন, আমি এটি একটি সদৃশ মনে করি না :)
এবিসিডেক্সটার

3
"আমি এটি পড়ার চেষ্টা করেছি," - কি হয়েছে?
অকেজো

2
এটিকে বলা হয় কারণ সেই বিষয়টিকে ঘিরে অনেক বিতর্ক রয়েছে। এই স্ট্যাকওভারফ্লো প্রশ্নটিও দেখুন: যাচাই করা ব্যতিক্রমগুলির বিরুদ্ধে মামলা যা বিখ্যাত / প্রভাবশালী ব্যক্তিদের কয়েকটি উদ্ধৃতি উল্লেখ করে
হাল্ক

উত্তর:


3

আমি প্রথমে আপনাকে একটি উদাহরণ দেব (তবে একেবারে শেষের দিকে উত্তর কেন বিতর্ক)।

চলুন আপনি সুপারিশ করুন আপনি একটি জাভা-ভিত্তিক দলিল সম্পাদকে একটি দস্তাবেজ সম্পাদনা করছেন এবং আপনার কাজ শেষ হওয়ার পরে আপনি ফাইল-> হিসাবে সংরক্ষণ করুন ... নির্বাচন করুন এবং আপনি নথিকে একটি ভলিউমে সংরক্ষণ করতে বেছে নিয়েছেন যাতে আপনার লেখার অনুমতি নেই। সম্পাদক আপনাকে কুৎসিত স্ট্যাকট্রেস দিয়ে ক্রাশ করবে না, এটি কেবল আপনাকে বলবে যে এটি ফাইলটি সংরক্ষণ করতে পারে না এবং এটি আপনাকে সম্পাদনা চালিয়ে যেতে এবং / অথবা অন্য কোনও জায়গায় সংরক্ষণ করতে দেয়।

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

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

চেক করা ব্যতিক্রমগুলি ডিজাইনের অংশ হওয়া উচিত এবং সেই API এর ব্যবহারকারীদের সেগুলি হ্যান্ডেল করার জন্য প্রস্তুত করা উচিত। চেক করা ব্যতিক্রমগুলি প্রায় সর্বত্রই ঘটতে পারে এবং আমাদের নিয়ন্ত্রণের বাইরে।

যখন পরীক্ষা করা ব্যতিক্রমগুলি ব্যবহার করা উচিত তখন প্রোগ্রামাররা চেক না করা ব্যতিক্রম (রানটাইম এক্সেক্সশন থেকে প্রসারিত) ব্যবহার করে বিতর্ক দেখা দেয় :

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

"আপনার ইন্টারফেসের স্বাক্ষরটি সংশোধন করা উচিত" - ভাল, আপনাকে এমনকি কম্পাইলার দ্বারা এটি করতে বাধ্য করা হয়েছে, এবং আপনাকে এটি পরিচালনা করতে বা প্রতিটি কল সাইটে নিক্ষেপ করার ঘোষণা দিতে হবে।
হাল্ক

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

@ সার্ভি কোন ব্যবহারকারী বান্ধব উপায়ে কোনও ইউআই অ্যাপ্লিকেশন কোনও ব্যর্থ র‌্যাম চিপের সত্যতা পরিচালনা করতে পারে, বা অন্য কোনও সফ্টওয়্যার ত্রুটিযুক্ত হওয়ার কারণে কোনও সিপিইউ চক্র ছাড়েনি?
তুলিনাস কর্ডোভা

1
@ TulainsCórdova সালে পারেন সেই ক্ষেত্রে প্রোগ্রাম এমনকি যাচ্ছে না এর রান , তাই কোন কাজ করা হচ্ছে হ্যান্ডলিং এর ব্যতিক্রম নয় সময়ের , তাই কিভাবে আপনি একটি ত্রুটি প্রতিনিধিত্ব করতে চেষ্টা অপ্রাসঙ্গিক যখন আপনি কি কখনো এমনকি কোনো চালাতে পারবেন না আপনার কোড যখন এটি ঘটে।
পরিবেশন করুন

1
@ তুলিনস কর্ডোভা আপনার প্রয়োজনে এটি পরিচালনা করতে ত্রুটির মুখোমুখি হতে হবে না, তবে হ্যাঁ, সংকলক আপনাকে বলবে না যে এটি নিক্ষেপ করা হতে পারে। বিতর্কটি হ'ল সংকলকটি আপনাকে বলছে যে ব্যতিক্রম নিক্ষেপ করা যেতে পারে তা আসলে সহায়ক। কেউ কেউ ভাবেন এটি হ'ল, কেউ ভাবেন এটি তা নয়। এখানে প্রশ্নটি হল যে বিতর্কটি কী এবং এটিই উত্তর। যাচাই করা ব্যতিক্রমগুলির মূল বিতর্কটি আপনার বক্তব্যটি নয়।
পরিবেশন করুন

-4

সেই পৃষ্ঠাটিতে কোনও বিতর্ক নেই। এটি ওরাকল লোককে চেক করা ব্যতিক্রমগুলি ব্যবহার করতে বলছে।

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


4
সেখানে হয় একটি বিতর্ক এমনকি যদি যে পেজটি এটি সম্পর্কে সামান্য বলেছেন। বিতর্কিত কী এই প্রশ্নের উত্তর, "চেক করা ব্যতিক্রমগুলি কী আরও ভাল সফ্টওয়্যারটির বিকাশে সহায়তা করে বা বাধা দেয়?" এবং, "যদি তাই হয় তবে কোন ব্যতিক্রমগুলি পরীক্ষা করা উচিত এবং কোনটি চেক করা উচিত?" আমি বাজি দেব যে আপনি যদি এই প্রশ্নগুলির উত্তর দেওয়ার জন্য একটি ঘরে পর্যাপ্ত বিকাশকারী (এবং বিয়ার) একসাথে পেয়ে থাকেন তবে আপনি সজীব আলোচনা শুরু করতে পারেন।
সোলায়মান ধীরে ধীরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.