python 异常处理语句

#异常处理
  2 try:
  3     try:
  4         num = input('请输入两个数字以空格隔开!')
  5         num = num.split(' ')
  6         print(num)
  7 #        print(sum(num))
  8     except ValueError:
  9         print('程序运行中出现了type的错误!')
 10     else:
 11         print('如果没报错、我该怎么办。')
 12 #print(2)    #1
 13     finally:
 14         print('既是报错我也要执行,我就是这么倔强!')
 15 #print('我就是证明下,异常处理完之后程序要继续运行.') #2
 16
 17 except BaseException:
 18     print('反正是发生异常了')
 19 else:
 20     print('是直接跳到了这里')
 21
 22 #print('我来测试try语句结束没有。') #3
 23 finally:
 24     print('我是第二层异常语句必须执行的代码')
 25 '''
 26 python的异常处理问题: 基本格式时 try 开头 后面以 except [else] 或者 finally 结束,但是必须要有一个否则程序会报错。
 27
 28 在整个语句快中间不能写无关的语句,也就是每句话都应该在 try 或 except 或 finally 的语句体内 否则会报缩进错误。
 29
 30 执行流程为
 31 try 的语句体 执行如果爆出异常 如果except存在则会进行匹配 如果匹配成功则执行 except语句 否则跳出在更高范围的try内寻找匹配except
 32
 33 如果不爆出异常则会执行else语句 else语句和except 同时出现   else可有可无但是有else语句的前提是必须有 except语句
 34 异常爆出的语句块开始到匹配到了except之间的语句时不会执行的    当然 finally 语句是必须执行的就算代码终止也会在终止之前执行的
 35 try 语句可以嵌套  嵌套的流程依次向下推就行   在外部推理时 将内部的 try 语句看成一般的代码就行 依次执行

 
 39 def f()
 40     try:
 41         print(1)
 42         return 0
 43     finally:
 44         print(1)
 45 print(f())
 46
 47 这样的输出结果是
 48       1
 49       0
 50       1
 51  说明 在return结束函数之前 finally 执行了他自己的语句块 他真是倔强啊 不管程序如何他都会在结束之前执行适用于文件的关闭 数据库的关闭等                       
 52 '''

 

 

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