ত্রুটি হ্যান্ডলারটি সেট এবং পুনরুদ্ধার করুন
একটি সম্ভাবনা হ'ল কলের আগে আপনার নিজের ত্রুটি হ্যান্ডলারটি সেট করা এবং পরে এর সাথে পূর্ববর্তী ত্রুটি হ্যান্ডলারটি পুনরুদ্ধার করা restore_error_handler()
।
set_error_handler(function() { /* ignore errors */ });
dns_get_record();
restore_error_handler();
আপনি এই ধারণাটি তৈরি করতে এবং পুনরায় ব্যবহারযোগ্য ত্রুটি হ্যান্ডলার লিখতে পারেন যা আপনার জন্য ত্রুটিগুলি লগ করে।
set_error_handler([$logger, 'onSilencedError']);
dns_get_record();
restore_error_handler();
ব্যতিক্রমগুলিতে ত্রুটি ঘুরিয়ে দেওয়া
সমস্ত পিএইচপি ত্রুটিগুলি ব্যতিক্রমগুলিতে পরিণত করতে আপনি set_error_handler()
এবং ErrorException
ক্লাসটি ব্যবহার করতে পারেন ।
set_error_handler(function($errno, $errstr, $errfile, $errline, $errcontext) {
// error was suppressed with the @-operator
if (0 === error_reporting()) {
return false;
}
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
});
try {
dns_get_record();
} catch (ErrorException $e) {
// ...
}
আপনার নিজের ত্রুটি হ্যান্ডলারটি ব্যবহার করার সময় গুরুত্বপূর্ণ বিষয়টিটি হ'ল error_reporting
সেটিংসটি বাইপাস করে সমস্ত ত্রুটি (নোটিশ, সতর্কতা ইত্যাদি) আপনার ত্রুটি হ্যান্ডলারের কাছে পৌঁছে দেবে। আপনি set_error_handler()
কোন ত্রুটি প্রকারটি পেতে চান তা নির্ধারণ করতে বা ... = error_reporting()
ত্রুটি হ্যান্ডলারের অভ্যন্তরে বর্তমান সেটিংস অ্যাক্সেস করতে আপনি দ্বিতীয় যুক্তি সেট করতে পারেন ।
সতর্কতা দমন করা
আরেকটি সম্ভাবনা হ'ল @ অপারেটরের সাথে কলটি দমন করা এবং তার dns_get_record()
পরে ফেরতের মান পরীক্ষা করা । তবে আমি এর বিরুদ্ধে পরামর্শ দেব কারণ ত্রুটিগুলি / সতর্কতাগুলি পরিচালনা করার জন্য ট্রিগার করা হয়, দমন করা উচিত নয়।