পিএইচপি প্রোগ্রামিং এ একটি Default Error Handling built-in থাকে যা স্বয়ংক্রিয় ভাবে যে ফাইলে ভুল রয়েছে সেই ফাইলের নাম, যে লাইন এ ভুল হয়েছে তার নম্বর এবং কি ধরনের ভুল হয়েছে তা প্রদর্শন করে থাকে এবং ব্রাউসারে একটি error message প্রেরন করে। আমরা উক্ত error message দেখে খুব সহজে আমাদের করনিও নিরধারন করতে পারি।
পিএইচপি স্ক্রিপ্ট এবং ওয়েব অ্যাপ্লিকেশন তৈরি করার সময় যদি আমরা ত্রুটিপূর্ণ ফাইল পরিচালনা করি তাহলে আপনার প্রোগ্রাম খুব অপেশাদারী হতে পারে এবং এই অ্যাপ্লিকেশন এ নিরাপত্তা ঝুঁকি থেকে যাবে যা আমাদের মটেই কাম্য নয়।
সুতরাং পিএইচপি স্ক্রিপ্ট এ কোন প্রকার ত্রুটি রয়েছে কিনা তা নির্ধারণ করা একটি গুরুত্বপূর্ণ অংশ।
এই টিউটোরিয়ালটিতে আমরা পিএইচপি প্রোগ্রামিং এর কিছু সাধারণ ভুল রয়েছে তা সমাধান সহ বেশ কিছু জিনিস শিখবো। আমরা সমাধানের জন্য নিম্নোক্ত দুটি পদ্ধতি বর্ণনা করব।
“die()” statements এর সাহায্যে কিভাবে error handling করা যায় তা আলোচনা করব।
<?php $file=fopen("welcome.txt","r"); ?>
প্রথমে আমরা একটি স্ক্রিপ্ট লিখব যা একটি .txt ফাইল খুলার নির্দেশ বহন করছে।
<?php $file=fopen("welcome.txt","r"); ?>
এখন যদি মূল পিএইচপি এর জন্য বরাদ্দকৃত ফোল্ডার এ এই welcome.txt ফাইলটির কোন অস্তিত্ব না থাকে তাহলে আমরা নিম্নক্ত error message পাব।
Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:
No such file or directory in C:\webfolder\test.php on line 2
উপরোক্ত error messege দেখে খুব সহজেই বোঝা জাচ্ছে যে আমাদের webfolder এ welcome.txt নামের কোন ফাইল compiler খুজে পায় নি।
এখন আমরা “die()” statements এর সাহায্যে welcome.txt ফাইলটি আমাদের মূল webfolder এ আছে কিনা তা চেক করে দেখবো।
<?php if(!file_exists("welcome.txt")) { die("File not found"); } else { $file=fopen("welcome.txt","r"); } ?>
এই script পরিচালনা করার পর যদি ফাইলটি webfolder এ না থাকে তাহলে নিচের message টি পাবো এবং script পরিচালনা সয়ংক্রিওভাবে বন্ধ হয়ে যাবে।
“File not found”
এখন আমরা Custom Creator Handler এর সাহায্যে কিভাবে error handling করা যায় তা দেখবো। Custom Creator Handler এমন একটি ফাংসন যা script এ কোন error থাকলে এর সাহায্য নেয়া যাবে। এই ফাংসন এর সাহায্যে সর্বনিম্ন দুটি (error level এবং error message) থেকে পাঁচটি (file, line-number, এবং the error context) পর্যন্ত parameters ব্যবহার করা যাই।
Syntax গুলো নিম্নের নিয়মে লেখা যায়।
error_function(error_level,error_message, error_file,error_line,error_context)
Parameter বর্ণনা
error_level | অবশ্য প্রয়োজনীয়। এটি error report level প্রদর্শন করে থাকে এবং এর ফলাফল একটি value number হতে হবে। |
error_message | অবশ্য প্রয়োজনীয়। এটি error message প্রদর্শন করে থাকে। |
error_file | ঐচ্ছিক। এটি filename প্রদর্শন করে যেখানে error টি নম্পাদন হয়েছে। |
error_line | ঐচ্ছিক। এটি line number প্রদর্শন করে যেখানে error টি রয়েছে। |
error_context | ঐচ্ছিক। এটি একটি array নির্দিষ্ট করে, এবং script এ অন্তরভুক্ত প্রত্যেকটি variable এবং তাদের value প্রদর্শন করে থাকে। |
Set Error Handler
আমরা আগেই জেনেছি যে, পিএইচপি তে Error Handler built-in থাকে। আমরা একটি function তৈরি করবো যা default error handler টিকে script পরিচালন এর সময় ব্যবহার করবো। তবে জরুরি কোন প্রয়জনে কিছু কিছু error এর জন্য default error handler টি পরিবর্তন করা যায়। নিম্নে একটি উধাহরন দেখান হল।
set_error_handler(“customError”);
যদি আমরা আমাদের নিজস্ব ফাংশন দিয়ে সব ত্রুটি হ্যান্ডেল করতে চাই তাহলে set_error_handler () একটি মাত্র parameter ব্যবহার করবো এবং দ্বিতীয় parameter টি error level এর জন্য ব্যাবহার করতে পারব। নিম্নে একটি উধাহরন দেখানো হল।
<?php //error handler function function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr"; } //set error handler set_error_handler("customError"); //trigger error echo($test); ?>