异常处理

python 异常处理

孤街醉人 提交于 2020-02-05 21:28:27
''''''#print(3 / 0)#需求:当程序遇到问题时不让程序结束,而越过错误继续向下执行'''try……except……else格式:try: 语句texcept 错误码 as e: 语句1except 错误码 as e: 语句2……except 错误码 as e: 语句nelse: 语句e注意:else语句可有可无作用:用来检测try语句块中的错误,从而让except语句捕获错误信息并处理逻辑:当程序执行到try-except-else语句时1、如果当try“语句t”执行出现错误,会匹配第一个错误码,如果匹配上就执行对应"语句"2、如果当try“语句t”执行出现错误,没有匹配的异常,错误将会被提交到上一层的try语句。或者到程序的最上层3、如果当try“语句t”执行没有出现错误,执行else下的“语句e”(你得有)'''try: print(3 / 1)except NameError as e: print("没有该变量")except ZeroDivisionError as e: print("除数为0了")else: print("代码没有问题")print("*************")#使用except而不使用任何的错误类型try: #print(4 / 0) print(num)except: print("程序出现了异常")

binder的异常处理

ぐ巨炮叔叔 提交于 2020-02-05 19:06:36
binder的异常处理真的很捉急,一开始我以为RemoteException可以跨进程交互,之后看了资料和源码才知道,RemoteException根本就支持跨进程传递 在Parcel.java源码注明了可以传递的几种异常 public final void writeException ( Exception e ) { int code = 0 ; if ( e instanceof Parcelable && ( e . getClass ( ) . getClassLoader ( ) == Parcelable . class . getClassLoader ( ) ) ) { // We only send Parcelable exceptions that are in the // BootClassLoader to ensure that the receiver can unpack them code = EX_PARCELABLE ; } else if ( e instanceof SecurityException ) { code = EX_SECURITY ; } else if ( e instanceof BadParcelableException ) { code = EX_BAD_PARCELABLE ; } else if ( e

python基础8.0:程序异常处理

﹥>﹥吖頭↗ 提交于 2020-02-05 13:22:35
解释器触发异常try: pass #代码块,逻辑except Exception as e: #e是Exception对象,对象中封装了错误信息 #上述代码块如果出错,自动执行当前块内容 while True: try: inp = input('请输入数字:') i = int(inp) except Exception as e: print(e) i = 1 print(i) try: int('e') except IndexError as e: print('indexerror',e) except ValueError as e: print('valueerror',e) except Exception as e: print('不清楚是什么错误:',e) else: #没有触发错误执行 print('??') finally: #始终执行 print('....') 主动触发异常 try: #主动出发异常 raise Exception('主动抛出异常') except Exception as e: print(e) 自定义异常 #自定义异常 class oldboyerror(Exception): def __init__(self,mag): self.massge = mag def __str__(self): return self.massge

11-18 异常处理

廉价感情. 提交于 2020-02-05 09:14:29
使用try和except可以处理异常 try是需要处理的代码 except后跟一个错误类型,当代吗发生错误且错误类型符合时,就会执行except中的代码 except支持多分支 有没有所有一个可以处理类型的类型(万能异常 Exception) 1.虽然有了万能异常,任然需要将能预测到的问题单独处理 2.单独处理的所有机智都应该卸载万能异常之前 else:没有异常的时候执行else中的代码 finally:不管是否有异常,finally中的代码都会执行 1.finally和return相遇的时候,finally中的代码依然会执行 2.finally一般在函数中用,不管是否异常,去做一些收尾工作 try: ret = int(input('number>>>')) print(ret*'*') except ValueError: print('输入类型有误,请输入一个数字!') except IndexError: print('超出列表最大长度') except Exception: print('你错了,老铁') except Exception as error: print('你错了,老铁',error) finally: print('不管是否有异常,finally中的代码都会执行') 常用异常 AttributeError 试图访问一个对象没有的树形,比如foo.x

c++11 异常处理

冷暖自知 提交于 2020-02-05 06:17:32
概要 异常是程序执行期产生问题,比如尝试除以零的操作。 异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字: try 、 catch 、 throw 。 throw: 当问题出现,程序通过throw抛出一个异常。 catch: 在你想要处理问题的地方,通过异常处理程序捕获异常。 try: try 块中的代码标识将被激活的特定异常。它后面允许跟着一个或多个 catch 块。 使用 try/catch 语句的语法: try { // 保护代码 } catch( ExceptionName e1 ) { // catch 块 } catch( ExceptionName e2 ) { // catch 块 } catch( ExceptionName eN ) { // catch 块 } 如果 try 块在不同场景抛出不同异常,此时可尝试罗列多个 catch 语句,用于捕获不同类型异常。 抛出异常 使用 throw 语句在代码块中任何位置抛出异常。throw 语句的操作数可以是任意表达式,表达式的结果类型决定了抛出异常的类型。 示例: double division(int a, int b) { if( b == 0 ) { throw "Division by zero condition!"; } return (a/b); } 捕获异常 catch 块跟在

11异常处理

让人想犯罪 __ 提交于 2020-02-05 05:22:33
基础知识 1、异常是一种Exception类型的对象( 异常是一种对象 )   因为异常是对象,所以你catch住的也是对象,下面程序代码中catch的参数是Exception类型的ex引用变量 try { } catch(Exception ex) { //Exception类型的对象可以是任何它的子类的实例 //尝试恢复 } 2、如果你的程序代码会抓住异常,那是谁把它抛出来的? //有风险、会抛出异常的代码public void takeRisk() throws BadException {//必须声明它会抛出BadException if(abandonAllHope) { throw new BadException();//创建Exception对象并抛出 } } //调用该方法的程序代码 public coid crossFingers() { try { anObject.takeRisk(); } catch(BadException ae) { System.out.println("Aaargh"); ex.printStackTrace();//如果无法从异常中恢复,至少也要使用printStackTrace()来列出有用的信息 } } 举例: public class Test { int age; public void getAge(int age)

Scala 中的异常处理

好久不见. 提交于 2020-02-05 01:06:42
异常代码 object Test01 { def main ( args : Array [ String ] ) : Unit = { val i = 10 / 0 println ( "你好!" ) } } 报错信息 捕获异常 语法格式 try中的代码是我们编写的业务处理代码 在catch中表示当出现某个异常时,需要执行的代码 在finally中,是不管是否出现异常都会执行的代码 try { // 代码 } catch { case ex : 异常类型 1 = > // 代码 case ex : 异常类型 2 = > // 代码 } finally { // 代码 } 代码示例 object Test02 { def main ( args : Array [ String ] ) : Unit = { try { val i = 10 / 0 println ( "你好!" ) } catch { case ex : Exception = > println ( "报错信息:" + ex . getMessage ) } finally { println ( "不管上述代码是否报错都执行,可以不要finally" ) } } } scala 中抛出一个异常 scala不需要在方法上声明要抛出的异常,它已经解决了再Java中被认为是设计失败的检查型异常。 语法格式

2. 搭建DRF项目

萝らか妹 提交于 2020-02-04 08:59:59
企业项目开发流程 一.需求分析 1.企业的web项目类型: 商城 门户网站[企业站和门户站] 社交网络 资讯论坛 内部系统 个人博客 内容收费站 前端的静态页面制作,外界开发的时候,是照着psd/png设计稿进行切图布局。 2. 项目各页面功能分析 3.项目架构 项目采用前后端分离的应用模式 前端使用Vue.js vue-cli 后端使用Django REST framework 后台管理 xadmin 二.搭建DRF项目 一.创建项目的虚拟环境 mkvirtualenv luf 二.进入虚拟环境 workon luf 三.安装基本类库 在之前虚拟环境luf中安装项目需要用到的类库 pip install django pip install PymySQL​ pip install Pillow​ pip install djangorestframework 四.创建django项目 django-admin startproject luf 配置manage.py 项目启动文件 五.在pycharm中打开项目 提示: 在pycharm中如果要使用已经创建好的虚拟环境,则 必须设置pycharm中的python解释器 ,设置为 虚拟环境中的python。 /.virtualenvs/环境名称/Scripts/python.exe 配置项目启动文件:manage.py 六

C++概述笔记

落花浮王杯 提交于 2020-02-03 00:03:02
一:前言   C++是对C的继承,由面向过程的的程序设计语言引入面向对象的特色,创造了万物皆对象的理念。引用 The_C++._Programming_Language 这本书的一段话:C++是一种通用程序设计语言,特别是面向系统程序设计,它——是一个更好的C,支持数据抽象,支持面向对象的程序设计,支持通用型程序设计。   C++开始于过程式程序设计,在它的基础上引入面向对象的范型,使用类层次结构,而后采用模板的通用型程序设计,每一个范型都是在前者的基础上构造起来的。   在开始学习C++的时候,不必纠结于它的语言细节和特色,这里要强调的是设计方法和组织程序的方式,这个阶段里,掌握什么东西可以用C++来做的基本思想,远比怎样做要更明智。 二:过程式程序范型   过程式程序设计语言的典型就是C了,它规划了计算机程序的每一个步骤,例如去倒一杯水的步骤: main() { stand_up(); go_to_the_table(); prepare_a_cup(); pick_up_the_kettle(); execute_the_pouring_water_action(); while(/*the water is full*/) stop(); pick_up_the_cup(); go_back(); } 这里的每一步都详细的描述了,具体程序设计范型是:确定需要用到哪些过程

python3基础篇06(异常处理2-断言)

独自空忆成欢 提交于 2020-02-02 23:56:29
断言 # 断言 # 实际结果 res = "888" # 预期结果 expected = "888" if res == expected: print("通过") else: print("不通过") 结果: 断言 assert 表达式 # 断言 assert 表达式 # 断言:比较两个数据是否一致 try: print(aaa) assert res == expected except AssertionError as e: print("用例未通过") else: print("用例执行通过") finally: print("用例执行出现了其他错误") 结果: 主动引发一个异常(raise) # 主动引发一个异常 raise NameError raise ValueError res = "8889" # 预期结果 expected = "888" try: assert res == expected except AssertionError as e: print("用例未通过") raise e #释放异常类型 结果: 来源: CSDN 作者: seak海 链接: https://blog.csdn.net/qq_38224014/article/details/104149185