python3之异常处理,断言和反射】的更多相关文章

Python3 的异常处理,在官方文档的 tutorial 中有说明. 这里把常用的异常处理方法都列出来,方便平时查找. 捕获异常基类 Python3 要求我们的异常必须继承 Exception 类.Built-in 的所有异常也都是继承自这个类.因此,我们只需要捕获这个类的实例,就可以捕获所有的异常. try: raise except Exception as err: print(err) 使用 sys.exc_info() 和 sys.last_traceback sys.exc_inf…
1.异常基础 python在运行过程中,程序解释机制会测试代码,如检测不通过则会抛出异常. try: aa = 10 bb = ' cc = aa + bb except Exception as e: print('error:',e) #output输出异常,数字不能与字符向加 error: unsupported operand type(s) for +: 'int' and 'str' try: aa = 10 bb = '10' cc = aa + bbexcept TypeErro…
一.错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^ SyntaxError: invalid syntax #语法错误示范 def test: pass #语法错误示范 class Foo pass #语法错误示范 print(haha 其他语法错误 逻辑错误 #用户输入不完整(比如输入为空)或者输入非法(输入不是数字)num=input(">>: ") int…
本节内容 1.概述 2.知识点回顾 3.断言 一.概述 python中断言,这个我是第一次听说到的,断言有什么用呢?断言就是做一些程序的检查工作,就是在执行之前需要做的一些检查,比如类似于安检一样,合格的就能过,不合格的就不能过.也类似于银行转账工作,真正的转账之前是不是要检查用户各方面,是不是账号密码是不是都没有问题,转的钱必须没有问题,所以你在这个操作之前做一下检查. 二.知识点回顾 1.__new__方法: 先于__init__方法之前执行 2.__call__方法: 实例化之后加括号,去…
NSAssert和assert是断言,主要的差别是assert在断言失败的时候只是简单的终止程序,而NSAssert会报告出错误信息并且打印出来.所以尽管的使用NSAssert,可以不去使用assert. iOS中用的最多的是两对断言, NSAssert/NSCAssert 和 NSParameterAssert/NSCparameterAssert. 要知道他们的区别,我们先来看看他们定义. #if !defined(NS_BLOCK_ASSERTIONS) #if !defined(_NSA…
1.异常 当出现错误时,程序就会发生异常 num1=input('Please input a num1: ') num2=input('Please input a num2: ') print(float(num1)/float(num2)) 输入num1=3,num2=0,程序产生异常 除了除零异常,还有许多种异常: ImportError:无法引入包或模块 IndexError:下标索引超界 NameError:使用还未赋值的变量 SyntaxError:代码逻辑出错,不能执行 Type…
写自动化脚本时经常会用到异常处理,下面将python中的异常处理做一整理: 注意:以下所有事列中的111.txt文件不存在,所以会引起异常 用法一:try...except...else..类型 1.没有异常时运行: a = 3 try: print(a) except BaseException as msg: #用msg变量来接受信息,并将其打印.其中BaseException为所有异常的基类,所有异常都继承与它 print(msg) else: print("没有异常时执行")…
个人感觉逻辑上类似if else条件判断 但这是对语法错误以及抛出异常的处理 异常处理 try/except 异常捕捉可以使用 try/except 语句. 以下例子中,让用户输入一个合法的整数,但是允许用户中断这个程序(使用 Control-C 或者操作系统提供的方法).用户中断的信息会引发一个 KeyboardInterrupt 异常. while True: try: x = int(input("请输入一个数字: ")) break except ValueError: pri…
         Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda : 4.5.11    typesetting : Markdown   code """ @Author : 行初心 @Date : 18-9-24 @Blog : www.cnblogs.com/xingchuxin @Gitee : gitee.com/zhichengji…
一般的用法是: assert condition 用来让程序测试这个condition,如果condition为false,那么raise一个AssertionError.逻辑上等于: if not condition: raise AssertionError() 比如如下的例子: >>> assert 1==1 >>> assert 1==0 Traceback (most recent call last): File "<pyshell#5>…