জাভাতে নিক্ষেপ এবং নিক্ষেপের মধ্যে পার্থক্য
কন্টেন্ট
থ্রো এবং থ্রোগুলি ব্যতিক্রম হ্যান্ডলিংয়ে ব্যবহৃত কীওয়ার্ড। দ্য নিক্ষেপ কীওয়ার্ডটি JVM কে ম্যানুয়ালি প্রোগ্রামার দ্বারা তৈরি ব্যতিক্রমের উদাহরণ হস্তান্তর করতে ব্যবহৃত হয়। দ্য ছোঁড়ার কলারের পদ্ধতিতে পদ্ধতিটি ব্যতিক্রম হ্যান্ডলিংয়ের দায়িত্ব হস্তান্তর করতে ব্যবহৃত কীওয়ার্ড। নিক্ষেপ এবং নিক্ষেপের মধ্যে মৌলিক পার্থক্য হ'ল থ্রো কীওয়ার্ড ব্যতিক্রম বস্তু ব্যবহার করে যেখানে থ্রো কীওয়ার্ড ব্যতিক্রম শ্রেণির নাম ব্যবহার করে।
- তুলনা রেখাচিত্র
- সংজ্ঞা
- মূল পার্থক্য
- উপসংহার
তুলনা রেখাচিত্র
তুলনার ভিত্তি | নিক্ষেপ | ছোঁড়ার |
---|---|---|
মৌলিক | নিক্ষিপ্ত কীওয়ার্ডটি JVM- এ ম্যানুয়ালি আমাদের তৈরি ব্যতিক্রম বস্তু হ্যান্ডओভার করে over | থ্রো কীওয়ার্ডটি পদ্ধতিটির কলারের কাছে ব্যতিক্রম হ্যান্ডলিংয়ের দায়িত্ব অর্পণ করতে ব্যবহৃত হয়। |
বাক্য গঠন | নিক্ষেপ-উদাহরণ; | রিটার্ন_ টাইপ পদ্ধতি_নাম (প্যারামিটার-তালিকা) এক্সপ্রেশনক্লাস_লিস্ট ছুড়ে দেয় { // পদ্ধতির শরীর } |
অনুসরণ করেছে | থ্রো কীওয়ার্ড ব্যতিক্রম অবজেক্ট দ্বারা অনুসরণ করা হয়। | থ্রো কীওয়ার্ডটি পদ্ধতিতে ঘটতে পারে এমন ব্যাতিক্রম শ্রেণীর তালিকা অনুসরণ করে। |
ফেলে দেওয়া ব্যতিক্রম সংখ্যা | থ্রো কীওয়ার্ডটি একক ব্যতিক্রম উদাহরণ ছুঁড়ে ফেলতে পারে। | থ্রো কীওয়ার্ডটি কমা দ্বারা পৃথককৃত একাধিক ব্যতিক্রম শ্রেণি ঘোষণা করতে পারে। |
নিক্ষেপ সংজ্ঞা
মূল শব্দটি “নিক্ষেপ"আমাদের তৈরি ব্যতিক্রম উদাহরণটি JVM (জাভা ভার্চুয়াল মেশিন) ম্যানুয়ালি হস্তান্তর করতে ব্যবহৃত হয়। যদি "থ্রো" কোনও ব্যতিক্রম উদাহরণ নিক্ষেপ করতে ব্যবহৃত হয় না এবং ব্যতিক্রম ঘটে, তবে রানটাইম সিস্টেমটি অভ্যন্তরীণভাবে ব্যতিক্রম উদাহরণটিকে JVM এ ছুঁড়ে দেয় এবং প্রোগ্রামটি অস্বাভাবিকভাবে শেষ হয়। থ্রো কীওয়ার্ডের সাধারণ ফর্মটি হ'ল:
নিক্ষেপযোগ্য
থ্রোয়েবল_ইনস্ট্যান্সের উপরে অবশ্যই ক্লোস থ্রোয়েবলের অবজেক্ট হতে হবে। প্রারম্ভিক ধরণের যেমন ইনট, ফ্লোট, বা চর এবং নন-নিক্ষেপযোগ্য শ্রেণীর উদাহরণ থ্রো কীওয়ার্ড ব্যবহার করে ফেলে দেওয়া যায় না।
আসুন কীওয়ার্ড থ্রো বোঝার জন্য একটি উদাহরণ নিই।
শ্রেণি পরীক্ষা {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস) {নিক্ষেপ করুন নতুন গাণিতিক ধারণা ("/ শূন্য দ্বারা"); }}
উপরের কোডে, কী-ওয়ার্ড থ্রো ব্যতিক্রমী ক্লাস "এরিমেটিক এক্সেক্সশন" এর উদাহরণ দেয়। যদি তখন থ্রো কীওয়ার্ডটি ব্যবহার না করা হত তবে মূল () পদ্ধতিটি অভ্যন্তরীণভাবে একটি ব্যতিক্রম বস্তু তৈরি করে জেভিএমকে হস্তান্তর করেছিল।
কীওয়ার্ড নিক্ষেপ সম্পর্কে মনে রাখার বিষয়গুলি:
- এটি ব্যতিক্রমী বিষয়টিকে ম্যানুয়ালি জেভিএম-এর হাতে দেয়।
- এটি ব্যবহারকারী-সংজ্ঞায়িত ব্যতিক্রম বা কাস্টমাইজড ব্যতিক্রমগুলির জন্য সেরা ব্যবহৃত হয়।
- যদি থ্রো কীওয়ার্ড দ্বারা ছুঁড়ে দেওয়া ব্যতিক্রমী অবজেক্টে মেমরিটি বরাদ্দ না করা হয়, তবে রানটাইম ব্যতিক্রম ঘটে, নলপয়েন্টার এক্সসেপশন।
- থ্রো কীওয়ার্ডটি এর উপস্থিতি হওয়ার সাথে সাথেই প্রোগ্রামটির সম্পাদন বন্ধ করে দেয়। আমরা সরাসরি স্ট্র স্টেটমেন্টের পরে কোনও বিবৃতি লিখতে পারি না। যদি আমরা সরাসরি স্ট্রো স্টেটমেন্টের পরে কোনও স্টেইমেন্ট লিখি তবে সংকলক সংকলনের সময় একটি ত্রুটি, অ্যাক্সেসযোগ্য স্টেটমেন্ট প্রদর্শন করবে।
- থ্রো কীওয়ার্ড ব্যবহার করে কেবল থ্রোয়েবল ক্লাসের বস্তু নিক্ষেপ করা যেতে পারে। যদি ফেলে দেওয়া অবজেক্টটি ক্লাস থ্রোএবলের অবজেক্ট না হয় তবে আমরা একটি কমপাইল সময় ত্রুটি পাই "বেমানান টাইপ পাওয়া গেল। । প্রয়োজনীয় java.lang.Trorowable "
বিঃদ্রঃ:
থ্রো কীওয়ার্ডটি ম্যানুয়ালি একটি ব্যতিক্রম ছুঁড়ে ফেলার জন্য সি ++, জাভা, সি # তে ব্যবহৃত হয়।
নিক্ষেপ সংজ্ঞা
দ্য "ছোঁড়ার”কীওয়ার্ডটি তার কলার পদ্ধতিতে পদ্ধতিতে ঘটে যাওয়া ব্যতিক্রম পরিচালনা করার দায়িত্ব অর্পণ করতে ব্যবহৃত হয়। কলার পদ্ধতিটি ব্যতিক্রম হ্যান্ডেল করার জন্য এটি অন্য কোনও পদ্ধতি বা জেভিএম হতে পারে responsible এটি পদ্ধতিতে হতে পারে এমন ব্যতিক্রম শ্রেণির তালিকা ঘোষণা করে।
থ্রো কীওয়ার্ডের ব্যবহারটি সংকলককে নিশ্চিত করে যে পদ্ধতিটিতে ঘটে যাওয়া ব্যতিক্রমটি কলার পদ্ধতিতে হ্যান্ডেল করা হয়, তাই কোনও সংকলনের ত্রুটি ঘটে না। তবে, কলার পদ্ধতিটিকে অবশ্যই ব্যতিক্রম পরিচালনা করতে হবে বা তার শ্রেণিবদ্ধ পদ্ধতিতে ব্যতিক্রমটি পরিচালনা করার জন্য দায়িত্ব অর্পণ করতে হবে। যখন রানটাইম ব্যতিক্রম ঘটে তখন থ্রো কীওয়ার্ড ব্যবহার করার পরেও এটি প্রোগ্রামটির অস্বাভাবিক সমাপ্তি রোধ করে না। যদি কলার পদ্ধতিটি মূল () হয় তবে ডিফল্ট জেভিএম ব্যতিক্রমগুলি পরিচালনা করে।
থ্রো কীওয়ার্ডের সাধারণ ফর্মটি হ'ল:
রিটার্ন_টাইপ পদ্ধতি_নাম (প্যারামিটার-তালিকা) ব্যতিক্রম ছুঁড়েছে ক্লাস_লিস্ট {// পদ্ধতির মূল উপাদান}
আমরা দেখতে পাচ্ছি যে থ্রো কীওয়ার্ডটি পদ্ধতির স্বাক্ষরের পরে উপস্থিত হয় এবং এতে পদ্ধতিতে ঘটে যাওয়া ব্যতিক্রম শ্রেণির তালিকা থাকতে পারে। কীওয়ার্ড নিক্ষেপ করার পরে লিখিত ব্যতিক্রম শ্রেণীর তালিকাটি কমা দ্বারা পৃথক করা হয়েছে।
থ্রো কীওয়ার্ডটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক।
ক্যালস টেস্ট {পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আরগস) বিঘ্নিত ধারণা {থ্রেড স্লিপ (10000) নিক্ষেপ করে; }}
উপরের কোডে, মূল থ্রেডটি ঘুম () পদ্ধতিটি ব্যবহার করে কিছু সময়ের জন্য ঘুমানোর জন্য তৈরি করা হয়। এখন, যখন মূল পদ্ধতিটি ঘুমোয় তখন সম্ভব হয় যে অন্যান্য থ্রেডগুলি মূল থ্রেডটিতে বাধা সৃষ্টি করতে পারে। তবে, থ্রো কীওয়ার্ডটি মূল () পদ্ধতির স্বাক্ষরের পরে ব্যবহার করা হয়, যাতে প্রোগ্রামটি সহজেই সংকলিত হয়। থ্রো কীওয়ার্ডটি চেক করা ব্যতিক্রম শ্রেণি বিঘ্নিত এক্সসেপশন ঘোষণা করছে। এখন, যদি রানটাইমের সময় অন্য কোনও থ্রেড মূল থ্রেডটিতে বাধা দেয় তবে থ্রো কীওয়ার্ডটি ব্যতিক্রমটিকে মূল () পদ্ধতির কলারের কাছে হস্তান্তর করবে, যা জেভিএম। জেভিএম অস্বাভাবিকভাবে প্রোগ্রামটি শেষ করবে।
থ্রো কীওয়ার্ড সম্পর্কে মনে রাখার বিষয়গুলি:
- থ্রো কীওয়ার্ডটি কেবলমাত্র পরীক্ষিত ব্যতিক্রম ক্লাসগুলি ঘোষণার জন্য ব্যবহৃত হয়। চেক না করা ব্যতিক্রমের জন্য থ্রো কীওয়ার্ডের ব্যবহারের কোনও প্রভাব নেই।
- পদ্ধতিটি যদি ব্যতিক্রমটি নিজের মতো করে পরিচালনা করতে না চায়, তবে থ্রো কীওয়ার্ডটি ব্যবহার করে class শ্রেণীর কলার পদ্ধতির ক্ষেত্রে এটি ব্যতিক্রমটি উপস্থাপন করে।
- এর ব্যবহার কেবলমাত্র প্রোগ্রামটির মসৃণ সংকলনের অনুমতি দেয়।
- রানটাইমের সময় যদি কোনও ব্যতিক্রম ঘটে তবে থ্রো কীওয়ার্ড ব্যবহারের পরেও প্রোগ্রামটি অস্বাভাবিকভাবে শেষ হয়।
- রানটাইমে কোনও ব্যতিক্রম ঘটলে প্রোগ্রামটির সাধারণ সমাপ্তির জন্য ট্রাই / ক্যাচ ব্লক ব্যবহার করার পরামর্শ দেওয়া হয়।
বিঃদ্রঃ:
কীওয়ার্ডটি কেবল জাভাতে ব্যবহৃত হয়। সি ++ এবং সি # থ্রো কীওয়ার্ডটি ব্যবহার করে না।
- কীওয়ার্ড থ্রো, JVM- কে ম্যানুয়ালি ব্যতিক্রম হ্যান্ডলিংয়ের দায়িত্ব হ্যান্ডওভার করুন, কীওয়ার্ডটি ছুড়ে ফেলেছে, যেখানে ব্যতিক্রম ঘটেছে সেখানে কোডের কলার পদ্ধতিতে ব্যতিক্রম হ্যান্ডলিংয়ের দায়িত্ব হস্তান্তর করুন।
- থ্রো কীওয়ার্ডটি ব্যতিক্রমী অবজেক্টের পরে অনুসরণ করা হয় যা এটি জেভিএমকে হস্তান্তর করে। অন্যদিকে, কীওয়ার্ডটি ব্যতিক্রম শ্রেণীর দ্বারা অনুসরণ করা হয় যা পদ্ধতিতে ঘটতে পারে।
- থ্রো কীওয়ার্ডটি একক সময়ে একক ব্যতিক্রম বস্তু ছুঁড়ে ফেলতে পারে, থ্রো কীওয়ার্ডটি একসাথে কমা দ্বারা পৃথক একাধিক ব্যতিক্রম শ্রেণি ঘোষণা করতে পারে।
উপসংহার:
থ্রো কীওয়ার্ডটি কাস্টমাইজড ব্যতিক্রমের জন্য সবচেয়ে ভাল ব্যবহৃত হয়। চেষ্টা / ক্যাচ ব্লকটি তুলনায় কীওয়ার্ডের তুলনায় ব্যতিক্রমগুলি পরিচালনা করার পক্ষে সেরা।