ব্যতিক্রমগুলি নিয়ে এরিক লিপার্টের নিবন্ধটি পড়ার বিষয়টি অবশ্যই নির্মাতা এবং গ্রাহক উভয় ক্ষেত্রেই আমার কীভাবে ব্যতিক্রমগুলির কাছে যাওয়া উচিত সে সম্পর্কে চোখ খোলা ছিল। যাইহোক, আমি এখনও ভেক্সিং ব্যতিক্রম ছোঁড়া এড়াতে কীভাবে সম্পর্কিত একটি গাইডলাইন সংজ্ঞায়নের জন্য সংগ্রাম করছি।
বিশেষ করে:
- মনে করুন আপনার কাছে সংরক্ষণের পদ্ধতি রয়েছে যা ব্যর্থ হতে পারে কারণ ক) আপনার আগে অন্য কেউ রেকর্ডটি সংশোধন করেছে , বা খ) আপনি যে মানটি তৈরি করার চেষ্টা করছেন সেটি ইতিমধ্যে বিদ্যমান । এই শর্তগুলি প্রত্যাশিত এবং ব্যতিক্রমী নয়, সুতরাং আপনি নিজের পদ্ধতির একটি ট্রাই সংস্করণ ট্রাইস্যাভ তৈরির সিদ্ধান্ত নেওয়ার পরিবর্তে একটি ব্যতিক্রম ছুঁড়ে ফেলার পরিবর্তে সেভটি সফল হয়েছে কিনা তা বোঝাচ্ছে এমন একটি বুলিয়ান দেয় যা নির্দেশ করে। তবে যদি এটি ব্যর্থ হয় তবে কীভাবে ভোক্তা জানবেন যে সমস্যাটি কী ছিল? অথবা রেজাল্ট ইঙ্গিত করে এমন এক এনাম ফেরত দেওয়া ভাল, ঠিক আছে / রেকর্ডএলডিটারমোডিফায়েড / ভ্যালুএলডিআরিস্ট? পূর্ণসংখ্যার সাহায্যে ট্রাই পার্স করুন এই সমস্যাটি বিদ্যমান নেই, কারণ পদ্ধতিটি ব্যর্থ হওয়ার একমাত্র কারণ রয়েছে।
- পূর্ববর্তী উদাহরণটি কি সত্যিই উদ্বেগজনক পরিস্থিতি? অথবা এই ক্ষেত্রে একটি ব্যতিক্রম ছুঁড়ে দেওয়া পছন্দসই উপায় হবে? আমি জানি এটি সত্ত্বার কাঠামো সহ বেশিরভাগ লাইব্রেরি এবং ফ্রেমওয়ার্কগুলিতে এটি কীভাবে ঘটে।
- আপনি কীভাবে সিদ্ধান্ত নেবেন যে কখন আপনার পদ্ধতির ট্রাই সংস্করণ তৈরি করবেন বনাম। পদ্ধতিটি কাজ করবে কিনা তা আগেই পরীক্ষা করার কিছু উপায় সরবরাহ করে? আমি বর্তমানে এই নির্দেশিকা অনুসরণ করছি:
- যদি রেসের শর্তের সম্ভাবনা থাকে তবে একটি চেষ্টা সংস্করণ তৈরি করুন। এটি ভোক্তার একটি বহিরাগত ব্যতিক্রম ধরার প্রয়োজনকে বাধা দেয়। উদাহরণস্বরূপ, আগে বর্ণিত সংরক্ষণ পদ্ধতিতে।
- যদি শর্তটি পরীক্ষা করার পদ্ধতিটি মূল পদ্ধতিটি যা করতে পারে তেমন অনেক কিছু করে, তবে একটি চেষ্টা সংস্করণ তৈরি করুন। উদাহরণস্বরূপ, পূর্ণসংখ্যা। ট্রাইপার্স ()।
- অন্য যে কোনও ক্ষেত্রে, শর্তটি পরীক্ষা করার জন্য একটি পদ্ধতি তৈরি করুন।