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