zoukankan      html  css  js  c++  java
  • 异常处理与网络协议

    一 异常处理:

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

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

    四  网络协议:

    参考:博客

  • 相关阅读:
    lincode 题目记录5
    lintcode题目记录4
    lintcode 题目记录3
    lintcode 题目记录2
    剖析ASP.NET Core(Part 2)- AddMvc(译)
    剖析ASP.NET Core MVC(Part 1)- AddMvcCore(译)
    如何 RESTFul 你的服务(译)
    Windows + IIS 环境部署Asp.Net Core App
    Asp.Net Core 缓存的使用(译)
    [转载].NET Core 轻量级模板引擎 Mustachio
  • 原文地址:https://www.cnblogs.com/zhangsanfeng/p/8874233.html
Copyright © 2011-2022 走看看