Home > Backend Development > Python Tutorial > What is the difference between python exceptions and errors

What is the difference between python exceptions and errors

藏色散人
Release: 2019-08-01 15:36:56
Original
13396 people have browsed it

What is the difference between python exceptions and errors

What is the difference between python exceptions and errors

1. Error

From a software perspective, the error is grammatical or logical. Syntax errors indicate that there is a structural error in the software that cannot be interpreted by the interpreter or cannot be compiled by the compiler. These errors must be corrected before the program is executed. When the syntax of the program is correct, the rest is logical errors. Logic errors may be due to incomplete or illegal input; in other cases, it may be that the logic cannot be generated, calculated, or the process required to output the result cannot be executed. These errors are commonly known as domain errors and range errors respectively.

When Python detects an error, the interpreter will point out that the current stream cannot continue to execute, and an exception occurs at this time.

2. Exceptions

The best description of exceptions is: It is an action taken outside the normal control flow because of an error in the program. This behavior is divided into two phases: first the error that caused the exception to occur, and then the detection (and possible action) phase.

The first phase occurs after an exception condition (sometimes called an exception condition) occurs. Whenever an error is detected and an exception condition is recognized, the interpreter throws an exception. Initiation can also be called triggering or generation, through which the interpreter notifies the current control flow that an error has occurred.

Python also allows programmers to raise exceptions themselves. Whether it is raised by the Python interpreter or the programmer, an exception is a signal that an error has occurred. The current stream will be interrupted to handle the error and take appropriate actions. , this is the second stage.

Exception handling occurs in the second phase. After an exception is raised, a number of different actions can be invoked, ranging from ignoring the error (logging the error but taking no action, taking remedial measures and then terminating the program), or mitigating the problem and trying to continue execution. All of these operations represent a continuation, or branch of control, and the key is that the programmer can instruct the program how to execute when an error occurs.

Languages ​​like Python that support raising and (more importantly) handling exceptions allow developers to more directly control errors when they occur. Programmers not only gain the ability to detect errors, but also take more reliable remedial measures when they occur.

Thanks to the ability to manage errors at runtime, the robustness of applications has been greatly improved.

Exceptions and exception handling are not new concepts. They also exist in Ada, Modula-3, C, Eiffel, and Java. The origin of exceptions can be traced to operating system code that handles exceptions such as system errors and hardware interrupts.

Around 1965, PL/1 emerged as the first major language to support exceptions, and exception handling as a software tool it provided. Similar to other languages ​​that support exception handling, Python adopts the concepts of "try/try" blocks and "catching/capture" blocks, and it is more "disciplined" in exception handling.

We can create different handlers for different exceptions instead of blindly creating a "catch-all/catch all" code.

Recommended study: "Python Tutorial"

The above is the detailed content of What is the difference between python exceptions and errors. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template