python的异常抛出
1、异常抛出概念
- 异常:程序运行时,如果
python解释器遇到一些错误,并且提示一些错误信息及其说明- 抛出:程序异常并且提示等动作
2、捕获异常
2.1、最简单的捕获异常方式
- 
在程序中捕获异常一般用 try来捕获
- 
最简单捕获方式 try: 异常语法 except: 异常输出
例子:
编写一个不能处0的案例
s1=int(input("请输入一个数字:"))
try:
    result = 9 / s1
except:
    print("不能为0")
结果:
请输入一个数字:0
不能为0
Process finished with exit code 0
2.2、根据类型捕获异常
- 
在程序中我们要根据不同的错误返回不同的信息 代码格式如下: try: 异常代码 except 异常类型: 提示 except 异常类型: 提示例子:try: s1 = int(input("请输入一个数字:")) result = 9 / s1 except ZeroDivisionError: print("不能为0") except ValueError: print("请输入正确的整数")结果1: 请输入一个数字:a 请输入正确的整数 Process finished with exit code 0结果2: 请输入一个数字:0 不能为0 Process finished with exit code0
2.3、捕获未知异常
- 
在程序中会遇到未知错误,又想让程序运行,所以我们要捕获斌输出 格式: try: 异常代码 except ZeroDivisionError: 错误提示 except Exception as a: 未知信息例子: try: s1 = int(input("请输入一个数字:")) result = 9 / s1 except ZeroDivisionError: print("不能为0") except Exception as a: print(f"错误提示{a}")结果: 请输入一个数字:a 错误提示invalid literal for int() with base 10: 'a' Process finished with exit code 0
2.4、异常抛出的完整语法
- 
实际开发中有些难度,下面为完整的格式 try: 异常代码 except 异常类型: 提示信息 except Exception as a: 提示信息 else: 没有异常代码 finally: 有没有异常都会执行
例子:
try:
    s1 = int(input("请输入一个数字:"))
    result = 9 / s1
except ZeroDivisionError:
    print("不能为0")
except Exception as a:
    print(f"错误提示{a}")
else:
    print("123")
finally:
    print("有没有都会执行")
结果:
请输入一个数字:0
不能为0
有没有都会执行
Process finished with exit code 0
2.5、主动创建异常抛出
- 我们会在程序中设置一些为满足条件就出现异常,终止程序
例子:
输入的年龄大于0且小于100
def getAge():
    age = int(input("请输入年龄:"))
    if age>0 & age<100:
        return age;
    ex=Exception("age输入错误")
    return ex;
print(getAge())
结果:
请输入年龄:-1
age输入错误
Process finished with exit code 0

 
     
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号