码迷,mamicode.com
首页 > 其他好文 > 详细

异常处理与网络协议

时间:2018-04-19 14:58:18      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:assert   sse   else   otf   --   失败   utf-8   lex   程序   

一 异常处理:

     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 互联网协议:

          互联网协议就是统一的标准,互联网协议就像计算机界的英语。

四  网络协议:

参考:http://www.cnblogs.com/linhaifeng/articles/5937962.html#_label4

 

异常处理与网络协议

标签:assert   sse   else   otf   --   失败   utf-8   lex   程序   

原文地址:https://www.cnblogs.com/zhangsanfeng/p/8874233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!