异常处理
Posted askzyl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理相关的知识,希望对你有一定的参考价值。
之前我们也接触了异常处理 ,就是使用try把错误信息给改变
因为你的程序在运行的时候如果有错误就会终止程序并且报错,异常处理就是让你的错误信息给显示出来,但是程序还是不会终止的,
如果我们的代码不确定是不是会出错就可以使用异常处理
try:
代码
except:
如果上面有错误就显示这个
try: name int except: #上面错了输出这个 print(1111)
还有第二种
try
代码
except 错误报错:
输出你的错误信息
也可以使用
# 错误 :语法错误 应该在开发的过程中就杜绝 # 异常 # num = 0 # 100/num # 程序中的异常 : 报错之后程序终止 # try: # # name # NameError # int(input(‘num : ‘)) # ValueError # dic = {} # dic[‘k‘] # KeyError # class A:pass # a = A() # a.name # AttributeError # l = [] # l[5] # IndexError # import ab # ImportError # except ValueError: # print(‘遇到Value error了‘) # except NameError: # print(‘遇到name error了‘) # except KeyError: # print(‘key Error‘) # try: # # name # NameError # int(input(‘num : ‘)) # ValueError # dic = {} # dic[‘k‘] # KeyError # class A:pass # a = A() # a.name # AttributeError # l = [] # l[5] # IndexError # import ab # ImportError # except Exception as e : # print(‘exception‘,e) # l = [‘创建老师‘,‘创建学校‘] # while True: # try: # for num,item in enumerate(l,1): # print(num,item) # index = int(input(‘num : ‘)) # print(l[index-1]) # break # except ValueError: # print(‘请输入一个数字。‘) # except IndexError: # print(‘您输入的数字不在选择范围内‘) # except Exception as e: # print(e) # try: # name = 10 # except NameError: # print(‘触发了 name error‘) # else: # print(‘执行else里的语句了‘) # try: # print(‘发短信‘) # except NameError: # print(‘触发了 name error‘) # else: # print(‘转账成功‘) # try: # name # except NameError: # print(‘name error‘) # else: # print(‘success‘) # # finally: # finally 执行try中的代码 不管是否触发了错误 都会执行finally中的代码 # print(‘finally‘) # try except try中的代码遇到异常 就执行except中的代码 # try except else try中的代码遇到异常 就执行except中的代码 没遇到异常就执行else中的代码 # trt except else finally try中的代码遇到异常 就执行except中的代码 没遇到异常就执行else中的代码 无论如何都执行finally中的代码 # try finally 不能处理异常了,但是无论是否发生异常,都会执行finally中的代码 # f = open(‘file‘) # try: # print(‘操作f‘) # finally: # f.close() # def func(): # try: # return 1 # finally: # print(‘finally‘) # # func() # import time # def wrapper(func): # def inner(*args,**kwargs): # try: # start = time.time() # return func(*args,**kwargs) # finally: # end = time.time() # print(end - start) # return inner # # @wrapper # def func(): # time.sleep(1) # # func() # 主动触发异常 # raise TypeError # class Payment: # def pay(self,money): # raise NotImplementedError(‘没有实现pay方法‘) # class Alipay(Payment): # def pay(self,money): # print(‘支付宝支付%s元‘%money) # # class WechatPay(Payment): # def pay(self,money): # print(‘微信支付%s元‘ % money) # # def pay(obj,money): # obj.pay(money) # # we = WechatPay() # pay(we,10) # try: # raise TypeError # except TypeError: # print() # class EvaException(BaseException): # def __init__(self,msg): # self.msg=msg # def __str__(self): # return self.msg # # raise EvaException(‘错误的内容‘) # try: # raise EvaException(‘错误的内容‘) # except EvaException as e: # print(e) # 断言 # assert 1==2 def func(): a def main(): func() try: main() except: pass
以上是关于异常处理的主要内容,如果未能解决你的问题,请参考以下文章
java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段