异常处理与网络协议
Posted 道长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理与网络协议相关的知识,希望对你有一定的参考价值。
一 异常处理:
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 互联网协议:
互联网协议就是统一的标准,互联网协议就像计算机界的英语。
四 网络协议:
参考:博客
以上是关于异常处理与网络协议的主要内容,如果未能解决你的问题,请参考以下文章
使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段
PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段