PHP Programming Error Types

Programming errors usually stay unobserved till the program is compiled or executed. A number of the errors inhibit the program from getting compiled or executed. PHP provides a very convenient environment for debugging and error handling.

There are three types of errors in PHP -

  1. Syntax Errors
  2. Runtime Errors
  3. Logical Errors

Syntax Errors

PHP language has a set of rules called the syntax, which statements must follow to be valid. If a statement does not follow the rules of a language, it is said to be a syntax error. Syntax errors are often called parse errors in a PHP like interpreted language. Syntax Errors stop the execution of the script.

Example-
<?php
	$var = sample';
        $x = (3 + 2) * 6);
        echo ($x);
?>

In the above code, at the first line, we have missed the opening quotation mark and the second line of our code is mis-formed as an opening bracket has been omitted.
This script generates the following error message -

Parse error: syntax error, unexpected ''; ' (T_ENCAPSED_AND_WHITESPACE) in parse_error.php on line 2

The parse errors are detected by the parser which checks the code's syntax before it is executed.





Runtime Errors

Runtime errors can be harder to detect and fix. Like include a file that does not exist, calls to a function that does not exist, failure to check input data, reading or writing to a file that does not exist. These errors stop the execution of the script immediately. This is because PHP cannot proceed without properly executing the statement where the error occurred.

Example-
<?php
     require('file.php');
?>

If the required file 'file.php' does not exist, then this generates a runtime error.
This script generates the following error message at runtime -

Fatal error: require(): Failed opening required 'file.php' (include_path='.;C:\php\pear') in runtime_error.php on line 2


Logical Errors

Logical errors can be a harder type of error to find and eliminate. This type of error occurs when perfectly valid code does exactly what it is instructed to do, but that was not what the writer intended. This error does not terminate the execution of the script.

Example-
<?php
if($i = 1) {
   echo 'Value is equal to One';
}
?>

The above snippet of the code is perfectly valid. This compile and run successfully without any error message but does not do right thing.





PHP error constants and descriptions

The constants below are always available as part of the PHP core -

  1. E_ERROR - A fatal run-time error that can not be recovered from, such as a memory allocation problem.
  2. E_WARNING - A run-time warning. Execution of the script is not halted.
  3. E_PARSE - A syntactic error and could not be parsed.
  4. E_NOTICE - The script encountered something that could indicate an error. Execution of the script is not halted.
  5. E_CORE_ERROR - A fatal runtime error occurred in the engine.
  6. E_CORE_WARNING - A nonfatal runtime error occur during PHP's initial startup.
  7. E_COMPILE_ERROR - A fatal error occurred while compiling the script.
  8. E_USER_ERROR - A user generated error. It is generated in PHP code by using the PHP function trigger_error().
  9. E_USER_WARNING - A user generated warning. It is generated in PHP code by using the PHP function trigger_error().
  10. E_USER_NOTICE - A user generated notice. It is generated in PHP code by using the PHP function trigger_error().
  11. E_RECOVERABLE_ERROR - A catchable fatal error.
  12. E_DEPRECATED - A run-time notice. Enable this to receive warnings about code that will not work in future versions.




Related Articles

How to convert text to speech using PHP
PHP - Copying or moving a file
How to lock a file using PHP
PHP CURL Cookie Jar
PHP Password Hashing
PHP - Emoji Unicode Characters
Preventing Cross Site Request Forgeries(CSRF) in PHP
PHP code to send email using SMTP
PHP MYSQL Advanced Search Feature
Simple PHP File Cache
PHP Connection and File Handling on FTP Server
Sending form data to an email using PHP
Recover forgot password using PHP and MySQL




Read more articles


General Knowledge



Learn Popular Language