异常处理

异常处理语法:

try:                                                                            错误!=异常

        <异常监控>

excpet Exception[,reason]:                            异常是指出现错误是采用正常控制

        <异常处理代码>                                                以外的动作异常处理的一般

finally:                                                                      流程是:

        <无论异常是否发生都执行>                                检测到错误,

                                                                                     引发异常;

                                                                                    对异常进行捕获处理


常遇到错误:

1.NameError:是指变量未定义类型                                    例:i=j

2.syntax Error:语法错误会提示在那一行出现                  例:print())

3. indexError:超出索引范围                                              例:a='123'                                                                                                        print(a[3])

4.KeyError:                                                                           例:d={'a':1,'b';2}

                                                                                                       prin(d['c'])

5.ValueError:                                                                           例:year=int(input('input year:'))

6.AttributeError:属性错误                                                       例:a=123

                                                                                                         a.append()

7.ZeroDivisionError:除0异常


如何进行捕获异常:

例:

            try:

                   year=int(input('input year:'))

               except ValueError:

                       print('年份要输入数字')


  多种异常捕获:

例如:

            except (KeyError,ValueError,AttributeError)


对异常信息进行详细输出:

           已知异常信息:

                       try:

                             print(1/0)

                        except ZeroDivisionError  as e:       as将异常信息定义为变量

                               print(’0不能做除数 %s‘ %e)

              未知异常信息:

                         try:

                             print(1/0)

                         except Exception as e:                用于捕获未知的异常信息

                               print(’0不能做除数 %s‘ %e)


如何自己定义错误信息:

                    try:

                             reise Name Error(’helloError‘)

                     except NameError:

                              print ('my custonm error') 


finally(一般用于文件控制):

                        try:                            

                                 a=open('name.text')

                         except Exception as e:

                                  print (e) 

                           finally:

                                    a.close()

你可能感兴趣的:(异常处理)