发布于2020-03-09 15:52 阅读(1780) 评论(0) 点赞(11) 收藏(4)
语法:
try:
block1
except [ExceptionName [as alias] ]:
block2
#"as alias":当前异常指定一个别名,通过该别名,可以记录异常具体内容
# 不能把所有的代码都放到try中,降低系统效率,浪费资源
# 可以多个except模块,从上往下应该由子类到父类,由精确到模糊
# 从上往下匹配异常的类型,如果能匹配到则执行对应处理模块,然后跳到异常处理模块后继续执行程序
def division():
num1 = int(input("请输出被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
result = num1/num2 # 执行出发运算
print(result)
if __name__ == '__main__':
try: # 捕获异常
division() # 调用除法的函数
except ZeroDivisionError: # 处理异常
print("输入错误:除数不能为0") # 输出错误原因
def division():
num1 = int(input("请输出被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
result = num1/num2 # 执行出发运算
print(result)
if __name__ == '__main__':
try: # 捕获异常
division() # 调用除法的函数
except ZeroDivisionError: # 处理异常
print("\n输入错了:除数不能为0")
except ValueError as e: # 处理ValueError异常
print("输入错误:",e)
else:
print("程序执行完成......")
语法:
try:
block1
except [ ExceptionName [ as alias ] ]:
block2
finally:
block3
def division():
num1 = int(input("请输出被除数:")) # 用户输入提示,并记录
num2 = int(input("请输入除数:"))
result = num1/num2 # 执行出发运算
print(result)
if __name__ == '__main__':
try: # 捕获异常
division() # 调用除法的函数
except ZeroDivisionError: # 处理异常
print("\n输入错了:除数不能为0")
except ValueError as e: # 处理ValueError异常
print("输入错误:",e)
else:
print("程序执行完成......")
finally: # 无论是否抛出异常都执行
print("释放资源,并关闭")
# 吞掉所有异常
try:
print(1 / 0)
except:
pass
语法:
raise [ExceptionName [(reason)]]
try:
print("问女神:这周六有空吗,一起看日出吧")
raise Exception("女神:周六和姐妹们逛商场")
except Exception as e:
print("屌丝:正好我也要买点东西,一起去")
try:
raise Exception("女神:太累了,咱们回去吧")
except:
print("屌丝:前面有家咖啡馆,一起喝杯咖啡休息一下")
'''
输出:
问女神:这周六有空吗,一起看日出吧
屌丝:正好我也要买点东西,一起去
屌丝:前面有家咖啡馆,一起喝杯咖啡休息一下
'''
print('start')
num = int(input('请输入一个1`9的整数:'))
assert 0 < num <= 9,'num不在1~9'
print('end')
'''
输入:0
输出:AssertionError: num不在1~9
'''
步骤:
1.在自定义异常的构造函数中,调用父类构造函数
2.重写__str__方法输出异常信息
3.编写异常处理方法处理异常
class CustomError(BaseException): # 继承BaseException
def __init__(self,msg):
super().__init__() # 调用父类初始化方法
self.msg = msg
# 重写__str__,输出异常信息
def __str__(self):
return self.msg
# 自定义异常处理方法
def handle_exception(self):
print('异常处理')
try:
raise CustomError('自定义异常')
except CustomError as e:
print(e)
e.handle_exception() # 异常处理
原文链接:https://blog.csdn.net/Sky_Mazarine/article/details/104737238
作者:四季度炒肉
链接:https://www.pythonheidong.com/blog/article/248812/82b69f5db27fc5e9b8d2/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!