Home > Backend Development > Python Tutorial > How to use try except BaseException statement in Python?

How to use try except BaseException statement in Python?

WBOY
Release: 2023-05-09 08:34:07
forward
1900 people have browsed it

try...except is the most common structure for catching and handling exceptions. Its main function is to wrap the code blocks that may cause problems with try: to prevent errors from causing the program to crash and make it impossible to execute.

There are three common try...excpet structures

try:
     pass
except BaseException as e :
    异常处理模块
Copy after login

try contains program code that may cause exceptions, and the except block contains code that is used to catch exceptions and handle exceptions after an exception occurs

If an exception occurs in the module included in try, it will jump to the except module to execute the code in except. The module in excpet will handle the exception. If no exception occurs, the program will not be executed. code in except.

Written a code block that will report an error for testing

try:
    test = eval(str(input("请输入一个字符串: ")))
    tests = test + "This is a piece of test code"
except BaseException as e:
    print("出现的错误可能是%s"%e)
print("这是一段测试输出")
Copy after login

How to use try except BaseException statement in Python?

Error message: unsupported operand type(s) for : 'int' and 'str '

Not supported: Data type: "int" and "str" ​​concatenation ( ) operation

A correct code input:

try:
    test = str(input("请输入一个字符串: "))
    tests = test + " "+"This is a piece of test code"
    print("输入正确的内容则会执行的代码块:",tests)
except BaseException as e:
    print("出现的错误可能是%s"%e)
print("这是一段测试输出")
Copy after login

How to use try except BaseException statement in Python?

# The ## character is not allowed to be spliced ​​with a string. Only numbers converted into strings are allowed to be spliced.

This is a problematic code block that is not processed by try except:

If try...except... is not used: to wrap possible codes, the program will crash. Affect subsequent code execution

test = int(input("请输入一个字符串: "))
tests = test + " "+"This is a piece of test code"
print("这是一段测试输出")
Copy after login

How to use try except BaseException statement in Python?

Multiple except statements,

If the error type of the written code is not clear, you can write a few more catch exception statements , remember to add an except BaseException at the end for cover-up operation (if the errors that occur are not the exceptions you caught with except, you can use it for cover-up), it is the parent class of all exceptions and contains all common exceptions

arr = {
    "xiaomi":"123",
    "xiaozhang":"456",
    "xiaodede":"7,8,9"
}
arrs = (1,2,3,4,5)
 
try:
    3 / 0
 
    print(arrs[6])
except IndexError :
    print('导入包失败')
except KeyError :
    print('在字典中找不到指定的键')
except ImportError :
    print("索引时没有找到指定序列")
#兜底捕获错误,BaseException 是所有错误的父类可以说是包含了所有常见的错误
except BaseException as e:
    print(arr["mayuanyuan"])
    print(e)
Copy after login

The functions expressed by the above operations are consistent with the following operations. You can also write all possible exceptions in an except, and separate exceptions with commas

arr = (1,2,3,4,5)
try:
    int("3.1415926")
    print(add)  # 未定义
    print(arr[6]) #超出索引
 
except (IndexError,NameError,ValueError)as e:
    print(e)
Copy after login

3 try... except... esle

If there is no exception in the code block contained in try, the statement in else will be executed and the code block in excpet will not be executed (this code is only in try When the code block throws an exception, except will be used to catch it)

try:
    arr = int(input("请输入一个整数: "))
except BaseException as e:
    print(e)
else:
    arrs = arr + 111
    print(arrs)
print("测试结束")
Copy after login

How to use try except BaseException statement in Python?

That’s it for the exception handling module. I want to talk about the exception handling module try Except for practical uses, some bloggers will talk about some simple cases. Some students may not have a very deep understanding of this module. Why?

try:
   4 /0
except BaseException as e:
    print(e)
报错: division by zero
Copy after login

Obviously you know it is a division by zero operation, why don't you change it? What mistakes do you clearly know about? Is it because I deliberately wrote out the errors just to test them?

So after my consideration, I gave you a fun

login password case operation. If the password is entered correctly, it will prompt that the login is successful. If it is wrong, it will continue to be entered. The incorrect input is greater than After three times, it will prompt: "Password has been locked after entering too many incorrect times"

i = 0
while True:
    if i == 3:
        print("输入错误次数过多密码已锁定")
        break
    try:
        Divisor = str(input("请输入一个整数: "))
        # A = Divisor/1
        # B = A+1   #如果输出有误就不会执行加1操作直接跳到 except当中
        # print("结果是:",B)
        mima = 'ma123'
        if Divisor == mima:
            i = i+1
            print("登录成功,输入%s次"%i)
            break
    except:
        i = i+1
        print("密码输入错误请重新输入:")
print("登陆了%s次"%i)
Copy after login

This is a piece of code about "try... except... esle" with practical use

Tips You enter the password, and then the content of the password is appropriately encrypted and spliced ​​

md5 = []
try:
    Divisor = str(input("请输入你的密码: "))
 
except:
    print("密码输入错误")
else:
    for i  in  Divisor:
        if i == 1:
            i = "a"
        else:
            i == 2
            i = "b"
    md5.append(i)
    MD5 = Divisor + md5[0]
 
 
 
print("经过加密后的数据%s"%MD5)
Copy after login

The above is the detailed content of How to use try except BaseException statement in Python?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
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