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 : 异常处理模块
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("这是一段测试输出")
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("这是一段测试输出")
test = int(input("请输入一个字符串: ")) tests = test + " "+"This is a piece of test code" print("这是一段测试输出")
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)
arr = (1,2,3,4,5) try: int("3.1415926") print(add) # 未定义 print(arr[6]) #超出索引 except (IndexError,NameError,ValueError)as e: print(e)
try: arr = int(input("请输入一个整数: ")) except BaseException as e: print(e) else: arrs = arr + 111 print(arrs) print("测试结束")
try: 4 /0 except BaseException as e: print(e) 报错: division by zero
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)
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)
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!