If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
PHP में error handling एक important aspect है, जो आपको बताता है कि आपका code सही तरीके से run कर रहा है या नहीं। जब code में कोई गलती होती है, तो PHP हमें errors दिखाता है, लेकिन इसके अलावा, हमें उन errors को efficiently handle करने की ज़रूरत होती है। इसी जगह पर Error और Exception classes का इस्तेमाल आता है।
इस blog में हम PHP में Error
और Exception
class के बीच के differences को समझेंगे और जानेंगे कि इन्हें कैसे manage किया जा सकता है।
●●●
PHP में errors वो issues होते हैं जो आपके code के run-time पर occur होते हैं। Errors कई प्रकार के हो सकते हैं, जैसे syntax error, fatal error, या warnings। इन्हें handle करना जरूरी होता है ताकि आपका code सही तरीके से execute हो सके।
यह तब होते हैं जब code में syntax-related issue होता है, जैसे कि missing semicolon या unmatched braces।
<?php
echo "Hello World // Missing closing quote
?>
ये errors तब आते हैं जब PHP को कोई important operation perform करने में समस्या होती है, जैसे कि non-existent function को call करना।
<?php
nonExistentFunction(); // Fatal Error
?>
ये errors minor होती हैं और script execution को पूरी तरह से नहीं रोकतीं। जैसे कि, file include करने में error आना।
<?php
include("nonExistentFile.php"); // Warning: File does not exist
?>
ये errors छोटी होती हैं और execution को रोकती नहीं हैं। जैसे कि, undefined variable को access करना।
<?php
echo $undefinedVar; // Notice: Undefined variable
?>
●●●
Exception handling PHP 5
से introduce हुआ, और यह advanced error handling का तरीका है। Exception handling में जब कोई unexpected situation आती है, तो PHP एक exception throw करता है, जिसे आप catch
कर सकते हैं और उसे gracefully handle कर सकते हैं।
Exceptions आपको flexibility देते हैं कि आप errors को बेहतर तरीके से manage कर सकें।
Exception handling तीन steps में काम करता है -
Try Block : यहां आप code लिखते हैं जो exception throw कर सकता है।
Catch Block : अगर try block
में कोई exception throw होती है, तो catch block उसे पकड़ता है और handle करता है।
Finally Block (Optional) : यह block हमेशा execute होता है, चाहे exception हो या न हो।
<?php
try {
// Code that may throw an exception
if (true) {
throw new Exception("An error occurred");
}
} catch (Exception $e) {
// Handle the exception
echo "Exception caught: " . $e->getMessage();
} finally {
echo "This will always run";
}
?>
इस example में, अगर true
condition fulfill होती है, तो exception throw
होती है, और catch block उसे handle करता है। इसके बाद finally
block हमेशा execute होता है।
●●●
अब हम Error और Exception class के बीच के differences को समझते हैं -
Errors : ये PHP core के issues को represent करते हैं। Errors handling के लिए try-catch blocks का use नहीं किया जाता।
Exceptions : ये object-oriented way से error handling को represent करते हैं और इन्हें try-catch blocks में handle किया जाता है।
Errors : Errors automatically PHP के द्वारा handle किए जाते हैं और ये execution को रोक सकते हैं।
Exceptions : Exceptions को manually handle किया जाता है और इन्हें gracefully handle करने के लिए developer द्वारा catch किया जा सकता है।
Errors : Errors को recover करना मुश्किल होता है, और ये execution को रोक सकते हैं।
Exceptions : Exceptions को handle किया जा सकता है और execution को continue रखा जा सकता है।
Errors : ये तब आते हैं जब code में कोई fatal issue हो, जैसे कि memory allocation problem।
Exceptions : Exceptions का use logical errors को handle करने के लिए किया जाता है, जैसे कि invalid input या database connection failure।
●●●
PHP में आप custom exceptions भी बना सकते हैं, जो आपको specific situations को handle करने में मदद करती हैं। Custom exceptions create करने के लिए आप PHP की built-in Exception
class को extend
कर सकते हैं।
<?php
class CustomException extends Exception {
public function errorMessage() {
return "Custom error on line {$this->getLine()} in {$this->getFile()}: {$this->getMessage()}";
}
}
try {
throw new CustomException("This is a custom exception");
} catch (CustomException $e) {
echo $e->errorMessage();
}
?>
इस code में, हमने एक CustomException
class create की है जो Exception class को extend करती है। जब exception throw होती है, तो errorMessage()
method custom error message display करता है।
●●●
Use Exceptions for Logical Errors : ऐसी situations में जहां आप logic errors handle कर रहे हैं, exceptions का use करें। इससे आपका code clean और manageable रहेगा।
Avoid Using Exceptions for Flow Control : Exceptions का use सिर्फ error handling के लिए करें, flow control के लिए नहीं। Exceptions को कभी भी regular control flow का part न बनाएं।
Custom Exception Classes : अगर आपके application में specific errors हैं, तो custom exception classes create करें ताकि आप उन errors को easily identify और handle कर सकें।
Error Logging : Errors और exceptions को log
करना जरूरी है ताकि आप बाद में उन्हें analyze कर सकें और fix कर सकें। PHP में error_log()
function का use करके आप errors को log file में store कर सकते हैं।
●●●
Loading ...