#转自https://www.jianshu.com/c/00c61372c46a网址 try: #将可能发生异常的语句放入try里执行 n = int(input('number: ')) result = 100 / n print(result) except ValueError: print('invalid number') except ZeroDivisionError: print('0 not allowed') except KeyboardInterrupt: print('Bye-bye') except EOFError: print('Bye-bye') print('Done') #完整语法 try: n = int(input('number: ')) result = 100 / n except (ValueError,ZeroDivisionError): print('invalid number') except (KeyboardInterrupt,EOFError): print('\nBye-bye') else: #不发生异常才执行 print(result) finally: #异常与否,都执行 print('Done') #常用的形式有try-except和try-finally #自定义异常 def set_age(name,age): if not 0 < age < 120: raise ValueError('年龄超过范围') #自主决定触发什么样的异常 print('%s is %d years old' % (name,age)) def set_age2(name,age): assert 0 < age < 120, '年龄超过范围' #断言异常 print('%s is %d years old' % (name,age)) if __name__ == '__main__': set_age('zhangsan',20) set_age2('lisi',200)
python-异常处理(59)
最新推荐文章于 2022-06-30 22:30:00 发布