Home Backend Development PHP Tutorial Detailed explanation of instance usage of PHP error control operator @ or die()

Detailed explanation of instance usage of PHP error control operator @ or die()

Jun 21, 2017 pm 02:11 PM
php operator

PHP supports an error control operator: @. When placed before a PHP expression, any error message that expression may produce is ignored.

If you set a custom error handling function with set_error_handler(), it will still be called, but this error handling function can (and should) call error_reporting(), and this function has @ will return 0.

If the track_errors feature is activated, any error messages generated by the expression are stored in the variable $php_errormsg. This variable is overwritten on every error, so check it as early as possible if you want to use it.

php ignore error symbol @

@ is an ignore error character in the PHP language. When placed before a PHP expression, the expression may Any error messages generated are ignored. For example:

@include("file.php");
Copy after login

It should be noted that the @ operator is only valid for expressions. You can think of it this way, if you can get a value from somewhere, you can add the @ operator in front of it.

For example, you can put it before variables, function and include calls, constants, etc.

It cannot be placed before the definition of a function or class, nor can it be used in conditional structures such as if and foreach.

In addition, @ is usually used together with or die(), for example:

(@include("file.php"))
 OR die("Could not find file.php!");
Copy after login

The above statement means that if the inclusion of file.php is unsuccessful, for example, the file.php file does not exist , print "Could not find file.php!" on the web page, and immediately stop the execution of the program.

If the @ character is not added, then when include("file.php") returns an error, what is printed on the web page is:

Warning: include(file.php) [function.include]: failed to open stream: No such file or directory
Warning: include() [function.include]: Failed opening 'file.php' for inclusion (include_path='.;C:\php5\pear')
Copy after login

Some usage of or die()

Everyone is familiar with using the die() function, but you may not be aware of some of the effects produced by writing it like or die().

First understand die().

die definition and usage

die() function outputs a message and exits the current script.

Syntax

die(status)
Copy after login

status Required. Specifies the message or status number to be written before exiting the script. Status numbers are not written to the output.

If status is a string, the function will output the string before exiting.

If status is an integer, this value will be used as the exit status. The exit status value is between 0 and 254. Exit status 255 is reserved by PHP and will not be used. Status 0 is used to terminate the program successfully.

Note: If the version number of PHP is greater than or equal to 4.2.0, then if status is an integer, this parameter will not be output.

php or die() statement

We often see statements like this:

$file = fopen($filename, 'r') or die("抱歉,无法打开: $filename");
Copy after login

or this is how it is understood here, because in PHP Data types are not distinguished, so $file can be either int or bool, so such a statement will not report an error. But some friends may not understand the processing process.

In fact, in most languages, in statements like bool or bool, if the previous value is true, the next value will not be judged. The same is true here, so if the fopen function is executed correctly, it will return an int value greater than 0 (which is actually "true"), and the subsequent statements will not be executed.

If the fopen function fails to execute, it will return false, and then it will be judged whether the following expression is true.

After executing die(), no matter what is returned, the program has stopped executing and the specified error message is displayed, thus achieving the purpose of debugging. that's all.

Two functions commonly used with error management are die() and exit() (strictly speaking, they are language constructs rather than functions, but who cares about that).

When die() and exit() are called in a script, the entire script will be terminated.

They can all be used to prevent the script from continuing to execute, so that certain important operations (such as establishing a database connection) will not occur. You can also pass die() and exit() a string that will be printed in the browser.

You can usually see die() and exit() used in OR conditional statements.

For example

include('config.inc.php') OR die ('Could not open the file. ');
Copy after login

After including such a line of code, if PHP cannot include the configuration file, the die() statement will be executed and the could not open the file message will be printed.

!defined('CURSCRIPT') && define('CURSCRIPT', ");//意思是如果没定义CURSCRIPT常量,则定义CURSCRIPT为空.
Copy after login

You'll see variations of this throughout the book and in the PHP manual, as it's a quick way to handle errors (but potentially overhandling them) without having to use custom errors. handler.

In fact, die and exit are equivalent, used to terminate the current script, often used when debugging programs.

The above is the detailed content of Detailed explanation of instance usage of PHP error control operator @ or die(). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1665
14
PHP Tutorial
1270
29
C# Tutorial
1250
24
PHP and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP in Action: Real-World Examples and Applications PHP in Action: Real-World Examples and Applications Apr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP vs. Python: Understanding the Differences PHP vs. Python: Understanding the Differences Apr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

The Enduring Relevance of PHP: Is It Still Alive? The Enduring Relevance of PHP: Is It Still Alive? Apr 14, 2025 am 12:12 AM

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP and Python: Code Examples and Comparison PHP and Python: Code Examples and Comparison Apr 15, 2025 am 12:07 AM

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

PHP vs. Other Languages: A Comparison PHP vs. Other Languages: A Comparison Apr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

See all articles