আমি কয়েকজন বন্ধু এবং I এর মধ্যে বিতর্ক চালিয়েছি They তারা ব্যতিক্রমের ক্ষেত্রগুলি ClientErrorExceptionএবং বিশদ ServerErrorExceptionসহ সাধারণ ব্যতিক্রমগুলি পছন্দ করে , আমি জিনিসগুলিকে আরও নির্দিষ্ট করে তোলা পছন্দ করি। উদাহরণস্বরূপ, আমার হাতে কয়েকটি ব্যতিক্রম থাকতে পারে:
BadRequestExceptionAuthenticationFailureExceptionProductNotFoundException
ত্রুটি কোডের উপর ভিত্তি করে এগুলির প্রত্যেকটিই এপিআই থেকে ফিরে আসে।
ব্যতিক্রমগুলির সুবিধাগুলি অনুসরণ করে এটি জাভার কাছে মূ .় বলে মনে হচ্ছে। তবে আমার বন্ধুদের মতামত হুবহু অস্বাভাবিক নয়।
কোড পঠনযোগ্যতা এবং এপিআই ব্যবহারযোগ্যতার ক্ষেত্রে কোনও পছন্দসই উপায় আছে, বা এটি কি কেবলমাত্র পছন্দটিতে নেমে আসে?
abstractগেটর পদ্ধতির সাহায্যে ব্যতিক্রমী ক্লাস সংজ্ঞায়িত করতে পারেন এবং তারপরে দানাদারগুলি সাধারণের প্রসারিত করতে পারেন। যেমন AuthenticationFaliureException extends ClientErrorException। এই পদ্ধতিতে, প্রতিটি ব্যবহারকারী কীভাবে ব্যতিক্রমগুলি মোকাবেলা করতে চান তা চয়ন করতে পারেন। এটি আরও কাজ যদিও স্পষ্টতই। তবে, অ্যাপ্লিকেশন লেখার সময় (লাইব্রেরির পরিবর্তে) এটি আলাদা পরিস্থিতি আইএমএইচও। সেক্ষেত্রে সরলতার জন্য আমি ব্যতিক্রমগুলি আপনার প্রয়োজনের চেয়ে বেশি দানাদার হিসাবে তৈরি করব না।