python 的异常捕获通常用 try…except…结构

把可能发生错误的语句放在 try 模块里,用 except 来处理异常,会让系统不会直接报错,而是给你具体另一种选项吧。

举个例子 首先将try注释并执行

然后我在输入数字:你好   

正常情况下,系统就会自动报错, 提示传入无效的参数

而当我使用try异常捕获时  他就会在错误时给你另一个结果 提示你请输入正确的数字

注意代码格式

try:
    # 提示用户输入一个数字
    # 不能确定正确执行的代码
    num = int(input("请输入数字:"))
except:
    # 错误的处理代码
    print("请输入正确的数字")

print("+" * 50)

如果需要指定异常类型  

ZeroDivisionError 是 除(或取模)零 (所有数据类型)

ValueError 是传入无效的参数

 另外 在函数使用时 还可以使用raise来接收错误

如以下示例 用raise 主动抛出”密码长度不够“这个异常 

 同时 还可使用 异常的传递:

def demo1():
    return int(input("输入整数"))


def demo2():
    # 定义函数demo2()调用demo1()
    return demo1()


# 利用异常的传递性,在主程序捕获异常
# 主程序调用demo2()
try:
    print(demo2())
except Exception as result:
    print("未知错误 %s" % result)

 输出结果为

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐