day8 (异常处理和网络编程)

一、异常处理

#1 什么是异常?
# 异常是错误发生的信号,一旦程序出错,就会产生一个异常,应用程序未处理该异常,
# 异常便会抛出,程序随之终止

#2、常见异常类型
#I:语法错误应该在程序运行前修正
# if 1 >2
#     print(‘xxxxx‘)

#II:逻辑错误
#x
#NameError: name ‘x‘ is not defined

# l=[]
# l[10000] #IndexError

# class Foo:
#     pass
# Foo.x #AttributeError:

# k={‘x‘:1}
# k[‘y‘] #KeyError

# 1/0 #ZeroDivisionError

# for i in 3: #TypeError:
#     pass

# age=input(‘>>: ‘)
# age=int(age)  #ValueError

#3、如何处理异常
print(‘====>start<=====‘)

try:
    l=[]
    print(l[1111])
    print(‘====>1‘)
    print(‘====>2‘)
    print(‘====>3‘)
except IndexError:    #捕捉Indexerror错误,当匹配到该类型的错误时会出发except代码块的执行,然后继续执行except后面的代码!,若没有匹配到,代码就不会执行except代码块
    pass

print(‘====>end<=======‘)

print(‘====>start<=====‘)
try:
    l=[]
    print(l[1111])
    print(‘====>1‘)
    print(‘====>2‘)
    print(‘====>3‘)
except IndexError as e:  #as e 的作用是把异常的值传给e
    print(‘===>‘,e) #list index out of range

print(‘====>end<=======‘)

print(‘====>start<=====‘)
try:
    l=[]
    #print(l[1111])
    print(‘====>1‘)
    d={}
    d[‘k‘]
    print(‘====>2‘)
    print(‘====>3‘)
except IndexError as e:
    print(‘===>‘,e)
    print(1111)
except KeyError as e:    #except可以接多个 当捕捉到异常后,异常的代码和匹配的except之间的代码不会执行,然后接着执行匹配到的except之后的代码!!
    print(‘----‘,e)

print(‘====>end<=======‘)

print(‘====>start<=====‘)
try:
    l=[]
    # print(l[1111])
    print(‘====>1‘)
    d={}
    d[‘k‘]
    print(‘====>2‘)
    print(‘====>3‘)
except IndexError:
    pass
except KeyError:
    pass
except Exception as e:  #万能异常捕捉
    print(‘万能异常--->‘,e)

print(‘====>end<=======‘)

print(‘====>start<=====‘)
try:
    l=[]
    #print(l[1111])
    # print(‘====>1‘)
    d={}
    # d[‘k‘]
    # print(‘====>2‘)
    # print(‘====>3‘)
except IndexError:
    pass
except KeyError:
    pass
except Exception as e:
    print(‘万能异常--->‘,e)
else:    #当没有异常发生的时候执行
    print(‘没有异常发生的时候触发‘)
#没有异常发生的时候触发
finally:  #有没有异常都触发
    print(‘有没有异常都触发‘)
    #有没有异常都触发

print(‘====>end<=======‘)

‘‘‘
try:
    conn=connect(‘1.1.1.1‘,3306)
    conn.execute(‘select * from db1.t1‘)
finally:
    conn.close()
‘‘‘

# stus=[‘egon‘,‘alex‘,‘wxxx‘]
ip_list=[
    # ‘1.1.1.1:8080‘,
    # ‘1.1.1.2:8081‘,
    # ‘1.1.1.3:8082‘,
]

# if len(ip_list) == 0:
#     raise TypeError   #主动触发异常
assert len(ip_list) > 0   #当不满足条件时触发异常 (断言失败触发异常)
#AssertionError

# print(‘从ip_list取出ip地址,验证可用性‘)

class MyException(BaseException):   #自定义异常类型
    def __init__(self,msg):
        super(MyException,self).__init__()
        self.msg=msg

    def __str__(self):
        return ‘<%s>‘ %self.msg   #__str__ 的返回值必须是str类型

raise MyException(‘类型错误‘) #异常的值:print(obj)   会打印 MyException(‘类型错误‘) (打印对象)
#__main__.MyException: <类型错误>

#异常处理是在异常一定会发发生但是有不可以用代码处理的情况下使用的

二、socket编程

1、网络基础

http://www.cnblogs.com/linhaifeng/articles/5937962.html

原文地址:https://www.cnblogs.com/xingguolv/p/8379696.html

时间: 2024-08-02 15:14:14

day8 (异常处理和网络编程)的相关文章

接口开发、异常处理、网络编程

一.接口开发,有依赖关系的接口开发 1.场景:用户登录后发表文章 用户登录接口代码示例: import flask,time,json from lib import tools server = flask.Flask(__name__) @server.route('/login',methods=['get']) def login(): username = flask.request.values.get('username') pwd = flask.request.values.g

python基础--面向对象高级、异常处理、网络编程

一.面向对象高级 1.接口与归一化设计 接口只是定义了一些方法,而没有去实现,多用于程序设计时,只是设计需要有什么样的功能,但是并没有实现任何功能,这些功能需要被另一个类(B)继承后,由 类B去实现其中的某个功能或全部功能. 在python中接口由抽象类和抽象方法去实现,接口是不能被实例化的,只能被别的类继承去实现相应的功能 归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大地降低了使用者的使用难度. 归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的

Python之操作Excel、异常处理、网络编程

知识补充: 1.falsk模块中一些方法总结 import flask from flask import request,jsonify server = flask.Flask(__name__) #把当前文件当作一个服务 server.config['JSON_AS_ASCII'] = False #不以ASCII码传 @server.route('/reg',methods=['post','get']) #接口方法前的修饰 methods有两个值:post和get jsonify({"

Java Socket常见异常处理 和 网络编程需要注意的问题

在java网络编程Socket通信中,通常会遇到以下异常情况: 第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时.异常的原因是以为与port一样的一个端口已经被启动,并进行监听.此时用netstat -an命令,可以看到一个Listending状态的端口.只需要找一个没有被占用的端口就能解决该问题了. 第

DAY8 - 异常处理,面向对象编程

网络编程 用基础的urllib包发送get请求: 输出为: 发送post请求: 输出为: 利用requests包来发送请求: 发送get请求: res.json()方法可以将得到的response返回成字典 输出为: 发送post请求: 输出为: 发送入参为json格式的post请求: 输出为: 发送带cookie的post请求: 输出为: 发送带Header的请求: 输出为: 如果请求的是一个url网页: 用res.text来返回一个字符串: 如果请求的返回是一个图片,音乐或者视频文件,那么实

python学习第31天之异常处理、网络编程part1

一,异常处理 1. 什么是异常处理 异常是错误发生的信号,一旦程序出错就会产生一个异常,如果该异常 没有被应用程序处理,那么该异常就会抛出来,程序的执行也随之终止 异常包含三个部分:(1). traceback异常的追踪信息(2). 异常的类型(3). 异常的信息 2. 为何要异常处理 避免程序因为异常而崩溃,所以在应用程序中应该对异常进行处理,从而增强程序的健壮性 3. 如何异常处理 错误分为两大类:(1). 语法上的错误:在程序运行前就应该立即修正(2). 逻辑上的错误 try: 代码1 代

python学习笔记day8【socket网络编程】

内容大纲 1.socke基础 两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建 立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP(或者UDP)的封装,TCP/IP也要提供可供程序员做网络 开发所用的接口,这就是Socket编程接口:HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力. Socket的英文原义是“孔”或“插座”.作为BSD UNIX的进程通信机制,取后

封装,多态,反射,异常处理,网络编程

接口与归一化设计(python中使用继承的方式) 抽象类 import abc class Interface(metaclass=abc.ABCMeta): #定义接口Interface类来模仿接口的概念,python中 #没有interface关键字来定义一个接口 all_type='file' #只定义功能集合而不实现具体的功能 @abc.abcstractmethod def read(self): # 定义接口函数read pass @abc.abcstractmethod def w

python-Socket网络编程

1.类的特殊成员方法 1.1__doc__ 表示类的描述信息 1.2__module__和__class__ __module__表示当前操作的对象在那个模块 __class__表示当前操作的对象所属类 1.3__init__构造函数,通过类创建对象时,自动触发 1.4__del__析构方法,函数执行完成时,自动触发.普通情况下不需要手动触发 1.5__call__对象加括号时,自动触发 注意:构造方法的执行时由创建对象触发的,即:对象=类名:对于__call__方法的执行 是由对象后加括号触发