try:# 提示用户输入一个整数
num =int(input("请输入一个整数:"))# 使用数字8除以这个整数并且输出
result =8/ num
print(result)except ValueError:# 捕获特定异常(也可以继续添加 as b)print("请输入正确的整数")print("可以继续执行的代码")# 可以继续执行的代码except Exception as a:# 捕获未知异常赋值给aprint("未知错误%s"% a)print("可以继续执行的代码")# 可以继续执行的代码else:# 尝试执行的代码正确时会执行的代码print("这个语法是正确的")finally:# 不管怎样都会执行的代码print("不管怎样都会执行的代码")
definput_password():
pwd =input("请输入密码:")iflen(pwd)<=8:
ex = Exception("密码长度不够")raise ex
print("raise之后的代码")return pwd
try:print(input_password())except Exception as a:print(a)finally:print("程序终止,请再次启动")
自定义异常类
# 通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。# 以下为与RuntimeError相关的实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多的信息。# 在try语句块中,用户自定义的异常后执行except块语句,变量 e 是用于创建Networkerror类的实例。classNetworkerror(RuntimeError):# 继承一般运行错误的类def__init__(self, cq):
self.cq = cq
# print(self.cq)# 在你定义以上类后,你可以触发该异常,如下所示:try:raise Networkerror("错误")# 直接抛出异常# 等于except Exception as e:except Networkerror as e:# 捕获异常print(e)# 等于print(e.cq)