您的位置:首页 > 理论基础 > 计算机网络

python异常处理与网络链接

2017-07-01 23:59 169 查看
一、python异常处理

1.异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修复问题。在Python中,和不部分高级语言一样,使用了try/except/finally语句块来处理异常,如果你有其他编程语言的经验,实践起来并不难。

except语句不是必须的,finally语句也不是必须的,但是二者必须要有一个,否则就没有try的意义了。

except语句可以有多个,python会按except语句的顺序依次匹配你指定的异常,如果异常已经处理就不会再进入后面的except语句。

except语句可以以元组形式同时指定多个异常。

如果要捕获异常后重复抛出,请使用raise,后面不要带任何参数或信息。

      2.抛出异常raise

如果你需要自主抛出一个异常,可以使用raise关键字,等同于C#和Java中的throw语句。

二、python网络链接

主机代码: 

import socket
import threading
# 创建 socket 对象
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('192.168.1.3',9988))
#监听数
s.listen(5)
print ("服务已启动")
c,a=s.accept()
print (c)
print (a)
c.send("你是最幸运的".encode("utf-8"))
def shou():
while True:
msg=c.recv(1024)
print(msg.decode('UTF-8'))

threading._start_new_thread(shou,())
while True:
str=input()
s.send(str.encode('UTF-8'))


客户代码:

:
import  socket
import threading
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('192.168.1.3',9988))
print("连上了可以收发消息了")
msg=s.recv(1024)
print(msg.decode("utf-8"))

def shou():
while True:
msg=s.recv(1024)
print(msg.decode('utf-8'))

threading._start_new_thread(shou,())
while True:
str=input()
s.send(str.encode('utf-8'))


客户连接上了主机,就可以向主机发送信息:

客户运行结果

连上了可以收发消息了
你是最幸运的
hallo


客户发送hallo,主机运行代码:

服务已启动
<socket socket="" fd="216," family="AddressFamily.AF_INET," type="SocketKind.SOCK_STREAM," proto="0," laddr="('192.168.1.3'," 9988="" raddr="('192.168.1.3'," 59521="">
('192.168.1.3', 59521)
hallo
</socket>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 异常处理 网络