异常处理与网络协议
一 异常处理:
1异常:错误发生的信号,程序一旦出错程序中没有相应的处理机制,就会抛出异常,终止程序
一个异常的三部分:
追踪信息,
异常的值,
异常类型,
二 异常的分类:
1语法异常:
这类异常在程序运行之前就改正,否则程序无法运行。
2逻辑异常:常见异常类型:
Indexerror,Keyerror,Attributeerror,
FileNotFoundError,
Valueerror,Typeerror,IndexError
Nameerror:名字没有定义
l=【1,2】 l【23424】搜索超出范围 4 try: print('start..') x=1 y l=[] l=[3] print('=====') except NameError:判断错误是否是NameError, print('名字没有定义') except KeyError:
可以有多个except判断:
在except匹配成功之后执行except之后的代码,
那么这样写的话就会显得很长所以我们有另一种方法:
except(NameError,KeyError):里面是一个或的关系。
print(‘变量名或字典的key,’)
5 万能异常:
try: 。。。 ;;; 。。。 except Exception:万能异常,可以处理一切异常,但是如果想要看到异常信息需要和as一起使用,把他赋给随便一个变量,在打印出变量。 except Exception: print(‘万能异常!!!’)这个时候你不知道到底是什么异常,所以我们需要用一个as语法。 except Exception as e:使用as语法把他赋给给一个值,然后再打印出来就可以看到异常的信息。 print(‘万能异常————》’,e) 所有的异常你都想用一种逻辑去处理,那就用万能异常,
6 try:。。。与else:。。。连用。
try: ,,,,, ;;; 。。。 else:else不能单独使用,必须跟except Exception: print(‘万能异常!!!’)这个时候你不知道到底是什么异常,所以我们需要用一个as语法。 except Exception as e:使用as语法把他赋给给一个值,然后再打印出来就可以看到异常的信息。 print(‘万能异常————》 在这些后面,一起使用。 else: print(’被检测的代码块,没有任何异常才会执行else的子代码块‘)
7 try。。。finally。。。
finally:有用。。。可以放回收系统资源f.close print(’无论有没有异常都会运行,无论异常有没有被处理都会执行‘) try: f=open('a.txt','w',encoding='utf-8') f.read() f.close exception NameError print('名字错误') 这种情况下我们的文件在以写的方式打开时,不能进行读取操作, 所以会报错,程序结束,那么文件f.close并没有运行,所以 这个时候就用到了finally,在finally下面来放这个关闭文件的操作。
8 主动触发异常:
raise TypError(’类型错误内容‘),在这里TypeError就是类。
9 断言:
print('part1.....') stus=['egon','alex','lxx'] if len(stus)=<0: raise TypError('stus内值的个数必须大于0,后续的代码才会运行') 可以用一行取代if及自带吗上面的代码 assert len(stus)>0 断言stus长度大于0,如果成立程序继续运行,否则抛出错误, print('part2,,,,') print(',,,,') print(',,,,') print(',,,,') print(',,,,')
10 自定义异常:
class RegisterError(BaseException):继承BaseException def __init__(self,msg,user): self.msg=msg self.user=user def __str__(self): return ('%s %s'%(self.msg,self.user)) raise RegisterError(’注册失败‘,’teacher‘) 定制自己的异常,可以定制抛出的信息。
11 什么时候用异常:
当你错误发生的条件是可以预知的,可以直接用if判断就解决了,
当发生的错误是没办法预知的,但是他一定会出现,只能用try:excep。。。
三 socker网络编程:
C/S架构:client<--------->server
B/S架构:browser<---------->server
学习socker编程就是要编写一个客户端软件与服务端软件。
然后实现服务器与客户端基于网络通讯。
1 什么是网络:
1物理连接介质
2 互联网协议:
互联网协议就是统一的标准,互联网协议就像计算机界的英语。
四 网络协议:
参考:博客