python异常处理(十分钟彻底搞定!) |
您所在的位置:网站首页 › python不断输入整数 › python异常处理(十分钟彻底搞定!) |
异常处理: 捕获异常,简单的捕获异常语法,在程序开发时,可以尝试加如 try来捕获异常 try: 尝试执行的代码 except: 出现错误的处理try尝试 下方填写要尝试的密码,不确定能不能够正常执行的代码 except 如果不是,下方填写尝试失败的代码 例子: 简单的异常捕获演练–要求用户输入整数 try: #不能确定争取执行的代码 #提示用户输入一个数字 num = int(input("请输入一个数字:")) except: print("请输入一个正确的数字!") print("-"*50)错误类型捕获: 在程序执行时,可能会遇到不同类型的,并且需要针对不同类型的异常,做出不同的响应,这个时候就需要指定错误类型了 try: #尝试执行的代码 pass except 错误类型1: #针对错误类型1,对应的代码处理 pass except(错误类型2,错误类型3): #针对错误类型2 和3 对应的代码处理 pass except Exception as result: print("未知错误 %s" %result)示例需求: 提示用户输入一个整数使用8除以用户输入的整数并且输出 while True: try: # 提示用户输入一个整数 num = int(input("输入一个整数:")) # 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理 result = 8 / num print(result) except ZeroDivisionError: print("数学错误") except ValueError: print("请输入数字")捕获未知错误: except Exception as result: print("未知错误 %s" %result)可以把未知错误输出到控制台,而不会报错崩溃使用 Exception关键字 try: # 提示用户输入一个整数 num = int(input("输入一个整数:")) # 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理 result = 8 / num print(result) except ValueError: print("请输入数字") except Exception as result: print("未知错误%s"%result)异常捕获的完整语法: try: #尝试执行的代码 pass except 错误类型1的第一个关键字: #针对错误类型1对应的代码处理 pass except 错误类型2的第一个关键词: #针对错误类型2的对应代码处理 pass except (错误类型3,错误类型4): #针对错误类型3,4的对应代码处理 pass except Exception as result: #打印错误信息 print(result) else: #没异常会执行的代码 pass finally: #无论是否有异常,都会执行的代码 print("无论是否存在异常,都会执行的代码")示例代码: try: # 提示用户输入一个整数 num = int(input("输入一个整数:")) # 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理 result = 8 / num print(result) except ValueError: print("请输入数字") except Exception as result: print("未知错误%s" % result) else: print("尝试成功!") finally: print("无论是否出现错误都会执行的代码") print("==="*20)异常的传递: 当函数/方法执行出现异常时,会将异常传递给函数/方法的调用一方 如果传递到主程序,仍然没有异常处理,程序才会被终止 所以说,只需要在主程序中做一个异常处理就可以完成代码的异常处理 示例代码: def demo1(): return int(input("输入整数:")) def demo2(): return demo1() #利用异常的传递性,在主程序捕获异常 try: print(demo2()) except Exception as result: print("程序出现了%s错误"%(result))抛出raise异常: 主动抛出异常 python中提供了一个 Exception 异常类在开发时,如果满足特定业务的需求时,希望抛出异常,可以 创建一个 Exception的对象使用 raise关键字抛出异常对象需求案例: 定义 input_password函数,提示用户输入密码如果用户输入长度=8 返回输入的密码 def input_password(): #1.提示用户输入密码 result =input("请输入密码") #2.判断密码长度 >=8 ,返回用户输入的密码 if len(result) >=8: return result #3.如果创建异常对象 -可以使用错误信息字符串作为参数 ex =Exception("密码长度不够!") #2> 主动抛出异常 raise ex #提示用户输入密码 try: print(input_password()) except Exception as result: print(result)以上为python全部的全部的异常处理,还是比较简单的! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |