জাভাতে চেক করা ব্যতিক্রমগুলি খুব খারাপ জিনিস নয়। অবশ্যই এডিটিগুলি স্কালার পক্ষে আরও ভাল বিকল্প হতে পারে তবে জাভাতে, চেক করা ব্যতিক্রমগুলি তাদের স্থান এবং পরিপাটি কোড আর্গুমেন্ট কেবল নির্বুদ্ধিহীন, যতই ব্লগ এটির পুনরাবৃত্তি করুক না কেন। এটি মূলত বলেছে যে আপনার সিস্টেমে ঘটতে পারে এমন গুরুতর এবং সম্ভবত মেরামতযোগ্য পরিস্থিতিতে আপনি আনন্দের সাথে উপেক্ষা করা উচিত, কারণ স্ক্রু টাইপ সিস্টেম, সুন্দর কোডটি আপনার সিস্টেমকে স্বয়ংক্রিয়ভাবে শক্তিশালী করে তোলে। এ জাতীয় যুক্তি আরও ব্যাখ্যা করে যে কেন এত বেশি জাভা কোডার স্বেচ্ছায় তাদের কোডগুলি এক্সএমএলগুলিতে সরিয়ে দেয় (স্প্রিং, মাভেন ইত্যাদি । যদিও আমি এখানে সুন্দর অংশটি মিস করি )।
এম। ওডারস্কির নীচে http://www.scala-lang.org/old/node/8787.html প্রদত্ত স্কেলে চেক ব্যাতিক্রমের অভাবের কারণটি আশ্চর্যজনকভাবে পৃথক এবং বোধগম্য।
পরীক্ষিত ব্যতিক্রমগুলির সাথে সমস্যাগুলি তালিকাটিতে মানচিত্রের পদ্ধতি দ্বারা সর্বোত্তমভাবে প্রদর্শিত হয়:
def map[B](f: A => B): List[B]
@ থ্রো দিয়ে মানচিত্রটি কীভাবে টীকা দেবেন? মানচিত্রে যদি একটি @ থ্রো টীকাটি না পাওয়া যায় তবে সম্ভবত আপনি এটিকে @ থ্রোযুক্ত কোনও ফাংশনটি পাস করতে পারবেন না। এটি মানচিত্রটি যেভাবে ব্যবহার করা যেতে পারে তার জন্য জটিল বাধা এবং পার্থক্যের পরিচয় দেয়। জিনিসগুলি আরও ভাল হতে পারে যদি আমরা কোনওভাবে সেই ম্যাপটি বর্ণনা করতে পারি যে তার ফাংশন আর্গুমেন্টটি ছুঁড়ে ফেলেছে এমন সমস্ত ব্যতিক্রম ছুঁড়ে ফেলে। এমন কিছু এফেক্ট সিস্টেম রয়েছে যা এটি প্রকাশ করতে পারে তবে এখন পর্যন্ত প্রতিটি নোটেশন আমি দেখতে পেয়েছি।
লুকাস রাইটজ লাইটওয়েট এফেক্ট সিস্টেমগুলিতে কিছু গবেষণা করছেন যা সংক্ষিপ্ত এবং সুনির্দিষ্ট উপায়ে মানচিত্রের ধরণ এবং অন্যান্য সাধারণ ক্রিয়াকলাপটি প্রকাশ করতে ব্যবহৃত হতে পারে। এটি গবেষণা, সুতরাং বর্তমানে আমরা কোন্ ডিগ্রি সাফল্য পাব এবং এর কতটুকু স্কালায় রাখা যেতে পারে তা এখনও অস্পষ্ট। আদর্শভাবে, আমরা এটি কোনও সময়ে anচ্ছিক টাইপ সিস্টেম হিসাবে যুক্ত করতে সক্ষম হব। তবে কংক্রিটের পূর্বাভাস দেওয়া খুব তাড়াতাড়ি।
চিয়ার্স
নিশ্চিত নয় তবে আমি মনে করি জাভা 8 ল্যাম্বডাসও চেক করা ব্যতিক্রমগুলিতে সীমাবদ্ধ।জেডিকে 8 ( java.util.function.*) এর বেশিরভাগ (সমস্ত?) নতুন কার্যকরী ইন্টারফেসের পদ্ধতিগুলি চেক করা ব্যতিক্রমগুলিও ঘোষণা করে না।