几个命令:

sudo apt install tree

tree 当前目录以树形结构展示出来.

tree a 查看a内的所有目录.也可以跟绝对路径.

a = input('请输入您的密码')

将用户输入保存.

1.异常

异常就是报错.

异常:NameError SyntaxError TypeError

异常本身就是类的实例,最大类是BaseException.

1.SystemExit:Python退出异常.

2.KeyboardInterrupt:键盘打断(Ctrl+C)

3.GeneratorExit:生成器退出

4.Exception:普通异常

错误回溯.跟着解释器输出.执行代码:报错行,报错原因.

2.异常处理

基本的try ... except...

try:

f = open('xxoo.py','r') #当xxoo.py不存在时 会打印

except:

print('发生了异常')

try:

x = 0

y = 1/x

except: #捕获异常.

print('发生了异常') #会打印.

200行代码,如果出错了,在第1行,第100行,第200行代码分别写个print('行数'),查看到多少行出错.

3.捕获具体的异常:

try:

a

except NameError:

print('name出错了')

except ZeroDivisionError: #可以叠加写

print('分母为0错误')

except Exception: #不知道具体的异常,所有代码异常的父类.一般都要加错误类,不要空着.

print('')

raise主动抛出异常

try:

raise TypeError('这是一个类型错误')

except NameError;

print('name出错了')

关于Exception及其子类的解释

代码中会出现的异常都是Exception的子类,因此在except中只需要在最后加上Exception即可.在抛出异常的过程中,会从上到下依次对比异常,找到之后就不会再往后查找.

4.更加丰富的结构

try:

x = 0

except Exception:

print('发生了普通的异常') #不打印

else:

print('没有发生异 常') #代码没错误时候执行,打印

finally:

print('怎么都会执行') #打印

if,while,for 后面可以接else

5.断言跟自定义异常类型

不使用断言:

if not False:

raise Exception('条件不满足')

使用断言:

assert True #不抛出异常

assert False #抛出异常

自定义异常类型:

class MyError(Exception): #Exception类的继承

pass

使用:

def func(name):

if name == 'My':

raise MyError('我错了'*10)

try:

print(func('My')) except MyError:

print('捕获到一只My')

try:

print(func('My')) except Exception as e: #将自定义的异常存在e当中.

print(e) #把自定义的异常打印出来

python基础知识12-异常的更多相关文章

  1. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  2. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  3. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  4. python基础知识部分练习大全

    python基础知识部分练习大全   1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py   #必须在首行 ...

  5. python基础知识的学习和理解

    参考链接:https://github.com/yanhualei/about_python/tree/master/python_learning/python_base   python基础知识笔 ...

  6. Python 入门之Python基础知识

    Python 入门之Python基础知识 1.变量 (1)变量就是把程序运行的中间结果临时存在内存中,以便后续代码使用 (2)变量的作用: 昵称,就是代指内存中某个地址中的内容 a = 123 变量名 ...

  7. Python基础知识总结笔记(四)函数

    Python基础知识总结笔记(四)函数python中的函数函数中的参数变量作用域偏函数PFA递归函数高阶函数BIFs中的高阶函数匿名函数lambda闭包Closure装饰器Decorator函数式编程 ...

  8. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  9. python基础知识(二)

    以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍

  10. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

随机推荐

  1. 左耳朵耗子:我对 GitLab 误删除数据库事件的几点思考

    参考链接:https://www.infoq.cn/article/some-thoughts-on-gitlab-accidentally-deleting-database 太平洋时间 2017 ...

  2. Luogu P1552 [APIO2012]派遣【左偏树】By cellur925

    题目传送门 $Chat$ 哈哈哈我xj用dfs序乱搞竟然炸出了66分....(其实还是数据水,逃) $Sol$ 首先我们应该知道,一个人他自己的满意度与他子树所有节点的领导力是无关的,一个人的满意度受 ...

  3. Spring事务引发dubbo服务注册问题

    文章清单 1. 问题 2. 查找bug过程 3. 解决方案 使用spring boot+dubbo写项目,一个服务,之前是正常的,后来调用方出现空指针异常,第一反应提供方出了问题. 1. 看控制台,服 ...

  4. 洛谷 P3455 [POI2007]ZAP-Queries || 洛谷P2522,bzoj2301

    https://www.luogu.org/problemnew/show/P3455 就是https://www.cnblogs.com/hehe54321/p/9315244.html里面的方法2 ...

  5. 题解报告:poj 2631 Roads in the North(最长链)

    Description Building and maintaining roads among communities in the far North is an expensive busine ...

  6. python正则表达式提取中文

    import urllib.requestimport reurl='https://songsearch.kugou.com/song_search_v2?callback=jQuery112407 ...

  7. DedeCMS全版本通杀SQL注入漏洞利用代码及工具

    dedecms即织梦(PHP开源网站内容管理系统).织梦内容管理系统(DedeCms) 以简单.实用.开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,近日,网友 ...

  8. PHP Deprecated: Function split() is deprecated in /var/www/html/cacti/cmd.php on line 61

    [root@localhost cacti]# php cmd.php PHP Deprecated: Function split() is deprecated in /var/www/html/ ...

  9. java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

    java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果文件超大的话,更快的方式是采用MappedByteBuffer. Mapped ...

  10. Git搭建自己的网站服务器(Linux)

    git服务器弄了半天终于搞定了,还是记录下吧,不然下次有得忘了 流程: 服务器 构建git目录 git用户,git组作为仓库管理 ssh授权(远程无需密码接入) hook(post-receive)自 ...