আমি একটি ফাংশন লিখেছি যা ব্যবহারকারীকে ইতিবাচক পূর্ণসংখ্যার (একটি প্রাকৃতিক সংখ্যা) প্রবেশ না করা পর্যন্ত ইনপুটটির জন্য জিজ্ঞাসা করে। কেউ বলেছে যে আমার ফাংশনে ব্যতিক্রম ছোঁড়া উচিত নয় এবং আমার ফাংশন কলকারীকে তাদের পরিচালনা করতে দেওয়া উচিত।
অন্যান্য বিকাশকারীরা এ সম্পর্কে কী ভাবছেন তা অবাক করি। আমি সম্ভবত ফাংশন ব্যতিক্রম অপব্যবহার করছি। জাভাতে কোডটি এখানে:
private static int sideInput()
{
int side = 0;
String input;
Scanner scanner = new Scanner(System.in);
do {
System.out.print("Side length: ");
input = scanner.nextLine();
try {
side = Integer.parseInt(input);
if (side <= 0) {
// probably a misuse of exceptions
throw new NumberFormatException();
}
}
catch (NumberFormatException numFormExc) {
System.out.println("Invalid input. Enter a natural number.");
}
} while (side <= 0);
return side;
}
আমি দুটি বিষয়ে আগ্রহী:
- আমি কি ফোন দেওয়া ব্যতিক্রম সম্পর্কে চিন্তা করা উচিত? ফাংশনটির বিষয়টি হ'ল ব্যবহারকারী কোনও প্রাকৃতিক সংখ্যার প্রবেশ না করা পর্যন্ত এটি ব্যবহারকারীকে টান দেয়। ফাংশনটির বিন্দুটি কি খারাপ? আমি ইউআইয়ের কথা বলছি না (ব্যবহারকারী সঠিক ইনপুট ব্যতীত লুপ থেকে বেরিয়ে আসতে সক্ষম হবে না), তবে ব্যতিক্রমগুলি পরিচালনা করা লুপযুক্ত ইনপুট সম্পর্কে।
- আপনি কি বলবেন নিক্ষেপ বিবৃতি (এই ক্ষেত্রে) ব্যতিক্রমগুলির অপব্যবহার? আমি সহজেই সংখ্যার বৈধতা যাচাই করার জন্য একটি পতাকা তৈরি করতে পারি এবং সেই পতাকাটির উপর ভিত্তি করে সতর্কতা বার্তা আউটপুট করি। তবে এটি কোডে আরও লাইন যুক্ত করবে এবং আমি মনে করি এটি ঠিক যেমনটি পঠনযোগ্য।
জিনিসটি আমি প্রায়শই একটি পৃথক ইনপুট ফাংশন লিখি। যদি ব্যবহারকারীকে একাধিকবার ইনপুট করতে হয় তবে আমি ইনপুটটির জন্য একটি পৃথক ফাংশন তৈরি করি যা সমস্ত ফর্ম্যাটিং ব্যতিক্রম এবং সীমাবদ্ধতাগুলি পরিচালনা করে।