কম্পিউটার টিউটোরিয়াল

PHP ErrorException


ভূমিকা

PHP-এর Exception ক্লাস Throwable ইন্টারফেস ইমপ্লিমেন্ট করে। ErrorException ক্লাস Exception ক্লাস এক্সটেন্ড করে। ErrorException স্পষ্টভাবে থ্রো করা হয় যখন আপনি সেই এররগুলো ক্যাচ ও হ্যান্ডেল করতে চান যেগুলো অন্যথায় উপেক্ষা হতো, যেমন Notices বা Warnings।

PHP কোরে নিচের প্রিডিফাইনড এরর কনস্ট্যান্টগুলো রয়েছে—

ValueConstantDescription
1E_ERRORফেটাল রান-টাইম এরর।
2E_WARNINGরান-টাইম ওয়ার্নিং (নন-ফেটাল এরর)।
4E_PARSEকম্পাইল-টাইম পার্স এরর।
8E_NOTICEরান-টাইম নোটিশ।
16E_CORE_ERRORPHP-এর ইনিশিয়াল স্টার্টআপে হয়endo ফেটাল এরর।
32E_CORE_WARNINGPHP-এর ইনিশিয়াল স্টার্টআপে হয়endo ওয়ার্নিং (নন-ফেটাল)।
64E_COMPILE_ERRORফেটাল কম্পাইল-টাইম এরর।
128E_COMPILE_WARNINGকম্পাইল-টাইম ওয়ার্নিং (নন-ফেটাল)।
256E_USER_ERRORইউজার-জেনারেটেড এরর মেসেজ।
512E_USER_WARNINGইউজার-জেনারেটেড ওয়ার্নিং মেসেজ।
1024E_USER_NOTICEইউজার-জেনারেটেড নোটিশ মেসেজ।
2048E_STRICTইনেবল থাকলে PHP কোডে পরিবর্তনের পরামর্শ দেয় ইন্টারঅপারেবিলিটি এবং ফরওয়ার্ড কম্প্যাটিবিলিটির জন্য।
4096E_RECOVERABLE_ERRORক্যাচেবল ফেটাল এরর।
8192E_DEPRECATEDরান-টাইম নোটিশ।
16384E_USER_DEPRECATEDইউজার-জেনারেটেড ওয়ার্নিং মেসেজ।
32767E_ALLসব এরর এবং ওয়ার্নিং, E_STRICT সহ।

Exception ক্লাস থেকে ইনহেরিট করা প্রপার্টি ও মেথড ছাড়াও, ErrorException ক্লাস একটি প্রপার্টি এবং একটি মেথড পরিচয় করায়—

protected int severity ; final public getSeverity ( void ) : int

এক্সসেপশনের সেভেরিটি উপরের টেবিলের এরর টাইপের সাথে জড়িত ইন্টিজার নম্বর দিয়ে রিপ্রেজেন্ট করা হয়।

ErrorException উদাহরণ

নিচের স্ক্রিপ্টে, একটি ইউজার-ডিফাইনড ফাংশন errhandler set_error_handler() ফাংশন দিয়ে এরর হ্যান্ডলার হিসেবে সেট করা হয়েছে। ফাইল না পাওয়া যাওয়ার ফেটাল এরর এনকাউন্টার করলে এটি ErrorException থ্রো করে।

উদাহরণ

<?php function errhandler($severity, $message, $file, $line) { if (!(error_reporting() & $severity)) { echo "no error"; return; } throw new ErrorException("Fatal Error: No such file or directory", 0, E_ERROR); } set_error_handler("errhandler"); /* Trigger exception */ try{ $data = file_get_contents("nofile.php"); echo $data; } catch (ErrorException $e){ echo $e->getMessage(); } ?>

উপরের উদাহরণ নিচের আউটপুট দেখাবে—

আউটপুট

Fatal Error: No such file or directory

  1. PHP-এ error_reporting() ফাংশন

  2. PHP-এ error_get_last() ফাংশন

  3. 0x80070057 উইন্ডোজ ত্রুটি সমাধান: দ্রুত, বিশ্বস্ত সমাধান

  4. Windows 0x80070057 আপডেট ও মেইল এরর ফিক্স: ধাপে ধাপে গাইড