老师为什么我得不出预期结果,只打印了 err 和 出错啦

老师为什么我得不出预期结果,只打印了 err 和 出错啦

class apiexception(Exception):
   """自定义我的异常"""
   err_code = ''
   err_msg = ''
   def __init__(self, err_code = None, err_msg=None):
       self.err_code = err_code if self.err_code else err_code
       self.err_msg = err_msg if self.err_msg else err_msg


   def __str__(self):
       return  'Error:{0}-{1}'.format(self.err_code,self.err_msg)

class invalidctrlexce(apiexception):
   """当参数不合法时触发
   40001  invalid crendential  不合法的参数"""
   #
   err_code = '40001'
   err_msg = '不合法的调用凭证'

class badpe(apiexception):
   """参数不对"""
   err_code = '4002'
   err_msg = '错误阐述'

def divide(num1,num2):
   """除法的实现"""
   # 两个数必须是整数
   if not isinstance( num1,int) or not isinstance(num2 ,int ):
       raise apiexception('400000','必须是整数')
#除数不能为零
   if num2==0:
       raise apiexception('40000','除数不能为0')
   return num1/num2

if __name__ == '__main__':
   try:
       rest = divide(5,'s')
       print(rest)

   except badpe as e :  #先子类再父类
       print('-----')
       print(e)
   except apiexception as err:
       print('出错啦')
       print('err')

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
时间, 2020-04-28 11:14:11

同学,你好。同学在最后输出的是字符串err,因此没有输出错误信息,而是直接输出了err

http://img1.sycdn.imooc.com//climg/5ea79f6d09b6aa7103980126.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师