异常的语法结构

领取Python学习资料可以加小编的微信:TZ20200688

Python基础知识:异常

异常基本语法以及指定异常;

try:
    num = int(input("请输入: "))
    res = 8 / num
    print(res)
except ValueError:
    print("请输入数字!")
except ZeroDivisionError:
    print("除0错误!")


未知错误的异常处理代码演示;
try:
    num = int(input("请输入: "))
    res = 8 / num
    print(res)
except ValueError:
    print("请输入数字!")
except Exception as result:
    print("未知错误 %s" % result)
else:  # 注意这个是没有发生异常才会执行
    print("尝试成功!")
finally:
    print("无论是否发生异常都执行的代码!")


print("*" * 50)

测试:

请输入: 0
未知错误 division by zero
无论是否发生异常都执行的代码!
**************************************************


和Java一样,也有异常的传递性;
def demo1():
    return int(input("请输入一个数: "))

def demo2():
    demo1()

try:
    demo2()
except Exception as result:
    print("未知错误 %s" % result)


测试:

请输入一个数: a
未知错误 invalid literal for int() with base 10: 'a'

类似Java中的throw关键字,raise抛出异常对象;
def input_password():
    pwd = input("请输入密码: ")
    if len(pwd) >= 6:
        return pwd
    raise Exception("密码长度小于8...")


try:
    input_password()
except Exception as result:
    print(result)

运行结果:

请输入密码: sdf
密码长度小于8...
 

领取Python学习资料可以加小编的微信:TZ20200688

相关文章: