PHP Exception vs Error : Difference between Exception and Error In PHP

Other Blogs

Blogs ❯❯ PHP

Image could not load

PHP Error vs Exception

PHP में error handling एक important aspect है, जो आपको बताता है कि आपका code सही तरीके से run कर रहा है या नहीं। जब code में कोई गलती होती है, तो PHP हमें errors दिखाता है, लेकिन इसके अलावा, हमें उन errors को efficiently handle करने की ज़रूरत होती है। इसी जगह पर Error और Exception classes का इस्तेमाल आता है।

इस blog में हम PHP में Error और Exception class के बीच के differences को समझेंगे और जानेंगे कि इन्हें कैसे manage किया जा सकता है।

What is error in PHP ?

PHP में errors वो issues होते हैं जो आपके code के run-time पर occur होते हैं। Errors कई प्रकार के हो सकते हैं, जैसे syntax error, fatal error, या warnings। इन्हें handle करना जरूरी होता है ताकि आपका code सही तरीके से execute हो सके।

PHP Error Types

1. PHP Parse Errors (Syntax Errors)

यह तब होते हैं जब code में syntax-related issue होता है, जैसे कि missing semicolon या unmatched braces।

<?php echo "Hello World // Missing closing quote ?>

2. PHP Fatal Errors

ये errors तब आते हैं जब PHP को कोई important operation perform करने में समस्या होती है, जैसे कि non-existent function को call करना।

<?php nonExistentFunction(); // Fatal Error ?>

3.PHP Warning

ये errors minor होती हैं और script execution को पूरी तरह से नहीं रोकतीं। जैसे कि, file include करने में error आना।

<?php include("nonExistentFile.php"); // Warning: File does not exist ?>

4. PHP Notice

ये errors छोटी होती हैं और execution को रोकती नहीं हैं। जैसे कि, undefined variable को access करना।

<?php echo $undefinedVar; // Notice: Undefined variable ?>

What is exception in PHP ?

Exception handling PHP 5 से introduce हुआ, और यह advanced error handling का तरीका है। Exception handling में जब कोई unexpected situation आती है, तो PHP एक exception throw करता है, जिसे आप catch कर सकते हैं और उसे gracefully handle कर सकते हैं।

Exceptions आपको flexibility देते हैं कि आप errors को बेहतर तरीके से manage कर सकें।

PHP Exception Handling

Exception handling तीन steps में काम करता है -

  • Try Block : यहां आप code लिखते हैं जो exception throw कर सकता है।

  • Catch Block : अगर try block में कोई exception throw होती है, तो catch block उसे पकड़ता है और handle करता है।

  • Finally Block (Optional) : यह block हमेशा execute होता है, चाहे exception हो या न हो।

PHP Exception Handling Example

<?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 होता है।

Differences Between Error And Exception In PHP

अब हम Error और Exception class के बीच के differences को समझते हैं -

1. Hierarchy
  • Errors : ये PHP core के issues को represent करते हैं। Errors handling के लिए try-catch blocks का use नहीं किया जाता।

  • Exceptions : ये object-oriented way से error handling को represent करते हैं और इन्हें try-catch blocks में handle किया जाता है।

2. Handling Mechanism
  • Errors : Errors automatically PHP के द्वारा handle किए जाते हैं और ये execution को रोक सकते हैं।

  • Exceptions : Exceptions को manually handle किया जाता है और इन्हें gracefully handle करने के लिए developer द्वारा catch किया जा सकता है।

3. Recoverability
  • Errors : Errors को recover करना मुश्किल होता है, और ये execution को रोक सकते हैं।

  • Exceptions : Exceptions को handle किया जा सकता है और execution को continue रखा जा सकता है।

4. Usage
  • Errors : ये तब आते हैं जब code में कोई fatal issue हो, जैसे कि memory allocation problem।

  • Exceptions : Exceptions का use logical errors को handle करने के लिए किया जाता है, जैसे कि invalid input या database connection failure।

Custom Exceptions in PHP

PHP में आप custom exceptions भी बना सकते हैं, जो आपको specific situations को handle करने में मदद करती हैं। Custom exceptions create करने के लिए आप PHP की built-in Exception class को extend कर सकते हैं।

PHP Custom Exception Example

<?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 करता है।

Best Practices for Error and Exception Handling

  • 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 कर सकते हैं।

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !