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