如何使用Python中的try except BaseException语句?
时间:2023-05-09 22:06
try ...except 是最常见的捕获处理异常的结构,其主要作用是将可能出现问题的代码块用try :包裹起来,不至于出现错误让程序崩溃,无法执行下去 常见的try ...excpet 的结构有三种 try 中包含着可能发生异常的程序代码,except 块中包含着,发生异常后,用来捕获异常和处理异常代码 如果在try包含的模块中发生了异常则会跳转到 except的模块中,去执行 except中的代码,excpet中的模块会处理异常,如果没有发生异常,则程序不会执行except中的代码。 书写了一段用于测试会报错的代码块 错误提示: unsupported operand type(s) for +: 'int' and 'str' 不支持 :数据类型:“int”和“str”拼接(+)操作 一段正确的代码输入: 字是不允许和字符串拼接的只有把数字转换成字符串才允许拼接。 这是一段没有用try except:处理的有问题代码块 如果不用try...except... :对可能出现的代码进行包裹,程序就会崩溃,影响后续代码进行 多个except 语句、 如果写入的代码出错类型不太清楚,可以多写几个捕获异常语句,记得在最后加上一个except BaseException 用来做兜底操作(假如出现的错误都不是你用except 捕获的异常你可以用它来兜底),它是所有异常的父类包含了所有常见的异常 上述操作和下面的操作表达的功能是一致的,你也可以将所有可能出现的异常写在一个 except 中,异常和异常之间 用逗号隔开 3 try... except... esle 如果try 中包含的代码块没有异常,则会接着执行else 中的语句,不会去执行 excpet中的代码块(这段代码只有try中的代码块抛出异常时,则会使用except去捕获) 异常处理模块就讲到到这里了,我要谈到关于异常处理模块try except实际用途,有的博主会谈一些简单的案例,可能有的同学对这个模块认识的并不是很深入,为什么呢? 明明你知道是,除零操作,你为什么不改呢?有的错误你明明知道什么?故意把错误写出来,难道就是为了测试错误吗? 所以经过我的考虑给了大家一个好玩的 登录密码案例的操作,如果密码输入正确,则会提示登录成功,错误的话则会继续输入,错误输入大于三次时就会提示:"输入错误次数过多密码已锁定“ 这是关于“try... except... esle ”具有实际用途的一段代码 提示你输入密码,然后根据密码的内容进行适当的加密,拼接 以上就是如何使用Python中的try except BaseException语句?的详细内容,更多请关注Gxl网其它相关文章!try: passexcept BaseException as e : 异常处理模块
try: test = eval(str(input("请输入一个字符串: "))) tests = test + "This is a piece of test code"except BaseException as e: print("出现的错误可能是%s"%e)print("这是一段测试输出")
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 /0except BaseException as e: print(e)报错: division by zero
i = 0while 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)