day30

1.异常处理
异常是程序发生错误的信号,程序一旦出错就会抛出异常,程序的运行随即终止
异常处理的三个特征
1.异常的追踪信息
2.异常类型
3.异常内容
为何要处理异常
为了增强程序的健壮性,即便是程序运行过程中出错了,也不要终止程序,而是捕捉异常并处理,同时记录日志
如何处理异常?
1.语法上的错误:必须在运行前就改正
2.逻辑上的错误:分为两种情况,一种为可预知的情况用if就可以判断解决,一种无法预知就要通过异常处理来操作
常见错误:TypeError:数字类型无法与字符串类型相加
ValueError:当字符串包含有非数字的值时,无法转成int类型
NameError:引用了一个不存在的名字
IndexError:索引超出列表的限制
KeyError:引用了一个不存在的key
AttributeError:引用的属性不存在
ZeroDivisionError:除数不能为0
异常处理的基本形式
try:
被检测的代码块
except 异常类型:
检测到异常,就执行这个位置的逻辑
else:
没有异常发生时执行的代码块
此外try还可以与finally连用,从语法上讲finally必须放到else之后,但可以使用try-except-finally的形式,也可以直接使用try-finally的形式。无论被检测的代码块是否触发异常,都会执行finally的子代码块,因此通常在finally的子代码块做一些回收资源的操作,比如关闭打开的文件、关闭数据库连接等
raise 主动抛出异常

2.网络编程
1、CS架构与BS架构
cs架构 client--------server
bs架构 browser-------server
2.网络存在的意义就是跨地域数据传输=》称之为通信 网络=物理链接介质+互联网通信协议
3、OSI七层协议
五层协议
应用层
传输层 四层交换机 四层的路由器
网络层 路由器 三层交换机
数据链路层 网桥 以太交换机 网卡
物理层 中继器 集线器 双绞线

协议:规定数据的组织格式
格式:头部+数据部分

封包裹的过程:数据外加头
拆包裹的过程:拆掉头获取数据
物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0
数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思
数据链路层的功能:定义了电信号的分组方式
以太协议:数据链路层将数据包装为头+数据内容
mac地址:网卡地址 全世界独一无二
广播:

有了mac地址,同一网络内的两台主机就可以通信了(一台主机通过arp协议获取另外一台主机的mac地址)
ethernet采用最原始的方式,广播的方式进行通信,即计算机通信基本靠吼
网络层功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址

posted @ 2020-04-16 22:04  TopJocker  阅读(121)  评论(0编辑  收藏  举报