前言: 这篇文章主要介绍一下python基础中的异常处理: 1,异常 2,异常的捕获 3,finally语句 个人简介:努力学习ing 个人专栏:C语言入门基础以及python入门基础 CSDN...Python中的异常是在程序执行期间发生的错误,它们会中断程序的正常流程。当程序运行时,如果出现异常,Python会中断当前执行任务的控制权,并寻找相应的异常处理器。 2,异常有类型吗?...OverflowError: 当数值运算结果太大或太小,无法表示为浮点数时引发。 RecursionError: 当递归深度超过限制时引发。...其中,try块包含程序尝试执行的代码,而except块包含当特定的异常发生时执行的代码。 当在try块中的代码发生异常时,程序会立即跳到紧跟着的except块,并执行该块中的代码。...: try: # 尝试将字符串转换为整数 number = int("string") except ValueError: print("发生了一个 ValueError 异常
Python中的所有实例必须是从BaseException派生的类的实例。通过子类不相关的两个异常类,即使它们具有相同的名称,也永远不会等效。内置异常可以由解释器或内置函数生成。...错误发生时,Python中会引发一些内置的异常。...整数引发MemoryError而不是OverflowError。对于超出所需范围的整数,有时会引发OverflowError。由于缺乏C语言中浮点异常处理的标准化,因此未检查浮点操作。...调用sys.exit()会转换为异常,以执行清理处理程序(try语句的最终子句)并调试脚本,而不会冒失去控制权的风险。...当发生与Unicode相关的编码或解码错误时,会引发UnicodeError。 异常ValueError 当内置操作或函数接收到具有正确类型但无效值的参数时,引发ValueError。
写在前面 这篇文章虽然篇幅有点长,但这不并是一篇关于Python异常的全面介绍的文章,只是在学习Python异常后的一篇笔记式的记录和平时写代码过程中遇到异常记录性的文章。...当内置函数input()或raw_input()正在等待输入时,键入的中断也会引发此异常。异常继承 BaseException而不被意外地捕获Exception并因此阻止解释器退出的代码被捕获 。...请注意,由于底层内存管理架构(C的malloc()功能),解释器可能并不总是能够从这种情况中完全恢复; 但是它引发了一个异常,以便可以打印堆栈跟踪,以防万一出现程序的原因。...异常OverflowError 当算术运算的结果太大而不能被表示时提升。对于长整型(这不会 MemoryError放弃)而且对于大多数具有纯整数的操作,这不会返回长整数。...调用sys.exit()被转换为异常,以便清理处理程序(finally语句的子句try)可以被执行,并且调试器可以执行脚本而不会失去控制的风险。os.
python异常: python在运行时错误称为异常 语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译。 ...逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成、计算或者出结果需要的过程无法执行等。 默认情况下:python脚本执行过程中出现异常后,脚本执行将被终止。 ...的子类的实例 大多的标准异常都是由StandardError派生的,其有3个抽象的子类 ArithmeticError:由于算术错误而引发的异常基类;包括:OverflowError...,用来指示平台相关的错误 OverflowError:整数运算的结果太大导致溢出 SyntaxError:语法错误 SystemError:python解释器本身或某些扩展模块中的内部错误...,就会跳至定义的相关except中,而try结构中发生异常之后的其它语句就不会再执行。
Python 程序中最常见的错误原因是某个语句不符合规定的用法。这种错误称为语法错误。Python 解释器会立即报告它,通常会附上原因。...Copy 在 Python 3.x 中,print 是一个内置函数,需要括号。上面的语句违反了这种用法,因此会显示语法错误。 但是很多时候,程序在运行后会导致错误,即使它没有任何语法错误。...这种错误是运行时错误,称为异常。Python 库中定义了许多内置的异常。让我们看看一些常见的错误类型。 下表列出了 Python 中重要的内置异常。...OverflowError 当算术运算的结果太大而无法表示时引发。 报错 当弱引用代理用于访问垃圾回收引用时引发。 运行时错误 当错误不属于任何其他类别时引发。...unboundlocalherror 当引用函数或方法中的局部变量,但没有值绑定到该变量时引发。 UnicodeError 错误 发生与 Unicode 相关的编码或解码错误时引发。
25.python 异常处理 最后更新于:2019-10-30 10:12:38 在python开发中,代码书写时难免有疏忽或者意向不到的bug,导致程序run的过程中有可能会直接崩溃;然后对于程序猿而言...,程序因bug崩溃是家常便饭,为了增加程序的健壮性,防止程序崩溃,我们可以对程序的有可能发生崩溃的代码增加异常处理,以达到程序稳健运行的目的。...一.异常的概念 一般情况,python无法正常处理程序时,就是会产生异常,举个例子: 1.大家都知道分母不能为0,如果分母为0,程序必然崩溃; x = 3/0 程序崩溃/报错:ZeroDivisionError...b.如果第一个except中定义的异常名与引发的异常匹配,则执行该except中的语句。 c.如果引发的异常不匹配第一个except,则会搜索第二个except,允许编写的except数量没有限制。...") # 无论是否发生异常都将会执行最后的代码 print("程序正常结束") 输出结果: 异常说明: [Errno 2] No such file or directory: 'python.txt
一、python异常 1、Python异常 python运行时发生错误称作异常 语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成...、计算或者输出结果需要的过程无法执行等 Python异常是一个对象,表示错误或意外情况 在Python检测到一个错误时,将触发一个异常 Python可以通过异常传导机制传递一个异常对象,...用于发出有效状态信号 特殊情况处理 无法调整代码去处理的场景 终止行为 try/finally语句可确保执行必需的结束处理机制 非常规控制流程 异常是一种高级跳转... 由于算术错误而引发的异常基类 OverflowError, ZeroDivisionError, FloatingPointError LookupError 容器在接收到一个无效键或索引时引发的异常的基类...OSError 由模块os中的函数引发的异常,用来指示平台相关的错误 OverflowError 整数运算的结果太大导致溢出 SyntaxError 语法错误
异常和错误 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def...(num) #无法完成计算 res1=1/0 res2=1+'str' part2:什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 l=['egon','aa']...异常发生之后 异常之后的代码就不执行了 什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关...,执行我这里的逻辑') ''' 问题一: 使用if的方式我们只为第一段代码加上了异常处理,但这些if,跟你的代码逻辑并无关系,这样你的代码会因为可读性差而不容易被看懂 问题二: 这只是我们代码中的一个小逻辑...,与你的主要的工作是没有关系的 这种东西加的多了,会导致你的代码可读性变差,只有在有些异常无法预知的情况下,才应该加上try...except,其他的逻辑错误应该尽量修正
在python开发中,代码书写时难免有疏忽或者意向不到的bug,导致程序run的过程中有可能会直接崩溃;然后对于程序猿而言,程序因bug崩溃是家常便饭,为了增加程序的健壮性,防止程序崩溃,我们可以对程序的有可能发生崩溃的代码增加异常处理...一.异常的概念 一般情况,python无法正常处理程序时,就是会产生异常,举个例子: 1.大家都知道分母不能为0,如果分母为0,程序必然崩溃; x = 3/0 程序崩溃/报错:ZeroDivisionError...: division by zero 2.假如 python文件读写 中,我们讲解了文件的读写操作,如果我们对一个不存在的文件读取内容,程序必然也会崩溃; # 读取123.txt文件,实际上该文件并不存在...b.如果第一个except中定义的异常名与引发的异常匹配,则执行该except中的语句。 c.如果引发的异常不匹配第一个except,则会搜索第二个except,允许编写的except数量没有限制。...") # 无论是否发生异常都将会执行最后的代码 print("程序正常结束") 输出结果: 异常说明: [Errno 2] No such file or directory: 'python.txt
python 中的try...except就是这个原理。 ? 出现了异常,我们如果能捕捉到,那是最好不过了。 异常捕获 当发生异常时,我们就需要对异常进行捕获,然后进行相应的处理。...python的异常捕获常用try...except...结构,把可能发生错误的语句放在try模块里,用except来处理异常,每一个try,都必须至少对应一个except。...Python还维护着traceback(跟踪)对象,其中含有异常发生时与函数调用堆栈有关的信息。...# 用户中断执行(通常是输入^C) +-- GeneratorExit # 生成器(generator)发生异常来通知退出 +-- Exception # 常规异常的基类 +--...# 无法找到模块或在在sys.modules中找到None 搞清楚python中的异常机制,代码的健壮性就强大很多,而且可以更快的定位和分析各种异常。
一丶异常和错误 程序中有两种错误 1.语法错误(这种错误,根本过不了Python解释器的语法检测,必须在程序执行前就改正) ? ?...# 用户输入不完整 num = input(">>: ") int(num) #无法完成计算 res1 = 1/0 res2 = 1+'str' 逻辑错误 二丶异常种类 在Python中不同的异常可以用不同的类型...,使程序不会崩溃,这就是异常处理 为什么要异常处理? ...print('其他情情况,执行我这里的逻辑') ''' 问题一: 使用if的方式我们只为第一段代码加上了异常处理,但这些if,跟你的代码逻辑并无关系,这样你的代码会因为可读性差而不容易被看懂 问题二...("错误") 异常类只能用来处理指定的异常情况,如果非指定异常则无法处理 s1 = 'hello' try: int(s1) except IndexError as e: print
一,异常和错误 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def...(num) #无法完成计算 res1=1/0 res2=1+'str' 逻辑错误 part2:什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 ?...print('其他情情况,执行我这里的逻辑') ''' 问题一: 使用if的方式我们只为第一段代码加上了异常处理,但这些if,跟你的代码逻辑并无关系,这样你的代码会因为可读性差而不容易被看懂 问题二...他可以捕获任意异常,即: s1 = 'hello' try: int(s1) except Exception as e: print(e) 你可能会说既然有万能异常,那么我直接用上面的这种形式就好了...这种东西加的多了,会导致你的代码可读性变差,只有在有些异常无法预知的情况下,才应该加上try...except,其他的逻辑错误应该尽量修正
这类错误也称为异常,在程序中通常是必须处理的,否则,程序会因为各种问题终止并退出。 Python内置了一套异常处理机制,来帮助我们进行错误处理....异常就是程序运行时发生错误的信号(在程序出现错误时,会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中错误出发的异常如下: 而错误分成两种: 1.语法错误(...(通常是输入^C) Exception 常规错误的基类 StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出 StandardError...什么时候用异常处理 有的同学会这么想,学完了异常处理后,好强大,我要为我的每一段程序都加上try…except,干毛线去思考它会不会有逻辑错误啊,这样就很好啊,多省脑细胞===》2B青年欢乐多...首先try…except是你附加给你的程序的一种异常处理的逻辑,与你的主要的工作是没有关系的,这种东西加的多了,会导致你的代码可读性变差 然后异常处理本就不是你2b逻辑的擦屁股纸,只有在错误发生的条件无法预知的情况下
好了,回归Python异常! 首先理解了什么是异常,异常表现为一种有可能发生的情况。注意既然是有可能发生,那就也有可能不发生。...当我们输入“机器学习和数学”的时候,下面输出的错误是TypeError,也叫做类型错误,因为我么程序中定义了两个数的除法,而“机器学习和数学”是一个字符串类型的数据,所以会发生类型错误的异常信息。...图2 这里我想说一下,新手在看错误信息的时候,刚开始会很不习惯,一看到输出了一大堆红色的东西,头就大了。...这里无论是否出现异常,对于支持Python“上下文管理协议”的文件对象来说,Python最后会为关闭这个文件。为什么需要关闭文件?...基类是面向对象中的一个术语,如果不明白可以先不管,可以理解为最基本的一个异常类型。最后把Python中全部的异常类型贴在这里,可以简单浏览一下。
一.Python的运行时错误称作异常 语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成、计算或者输出结果需要的过程无法执行等....错误处理 python的默认处理:停止程序,打印错误消息 使用try语句处理异常并未从异常中恢复 2.事件通知 用于发出有效状态信号 3.特殊情况处理 无法调整代码去处理的场景 4.终止行为 try/...继承的新式子类 Python自身引发的所有异常都是Exception的子类实例 大多的标准异常都是由StandardError派生的,其有3个抽象的子类 ArithmeticError 由于算术错误而引发的异常基类...用户按了中断键(Ctrl+c,Ctrl+Break或Delete键) MemoryError运算耗尽内存 NameError引用了一个不存在的变量名 NotImplementedError由抽象基类引发的异常...,用于指示一个具体的子类必须覆盖一个方法 OSError由模块OS中的函数引发的异常,用来指示平台相关的错误 OverflowError整数运算的结果太大导致溢出 SyntaxError语法错误 SystemErrorPython
# 异常 """ 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。...当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。...""" """常见异常类型 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类...StopIteration 迭代器没有更多的值 GeneratorExit 生成器(generator)发生异常来通知退出 StandardError 所有的内建标准异常的基类 ArithmeticError...关于构造将来语义会有改变的警告 OverflowWarning 旧的关于自动提升为长整型(long)的警告 PendingDeprecationWarning 关于特性将会被废弃的警告 RuntimeWarning
\ KeyboardInterrupt 用户中断执行(通常是输入^C) 用户按下Ctrl-C(或者Delete)终止一个正在运行的程序时,会产生,重新运行即可 Exception 常规错误的基类 \...with-fpectl标志,但是标准文档中不提倡使用fpectl OverflowError 数值运算超出最大限制 当一个算术运算超出变量类型的界限时,会产生 ZeroDivisionError 除(或取模...\ Python3异常处理 即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。...#如果引发了'name'异常,获得附加的数据 else: #如果没有异常发生 以下为简单的try....except...else的语法: try: int("aaa")...int() with base 10: 'aaa' finally 抛出异常 Python 使用 raise 语句抛出一个指定的异常。
### 什么是异常? > 异常简单理解,就是非正常,没有达到预期目标。 > 异常是一个事件,并且这个异常事件在我们程序员的运行过程中出现,会影响我们程序正常执行。 异常分两种: 1....如果错误发生的情况是可以预知的,那么就可以使用流程控制进行预防处理 ```python #比如: 两个数字的运算,其中一个不是数字,运算就会出错。...在错误发生时进行处理 ```python '''语法: try: 可能发生异常错误的代码 except: 如果发生异常则进入 except 代码块进行处理 ''' # 假设读取的文件不存在...如果引发了非指定的异常,则无法处理 try: s1 = 'hello' int(s1) # 会引发 ValueError except ValueError as e: # except...IndexError as e: #如果引发了非指定的异常,则无法处理 print(e) # 2。
一、错误和异常 1.错误 代码运行前的语法或者逻辑错误 语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) def test: ^ SyntaxError...: invalid literal for int() with base 10: 'fsf' 2.异常定义 程序执行过程中出现问题导致程序无法执行 异常的分类: 程序遇到逻辑或算法错误 运行过程中计算机错误...KeyboardInterrupt Ctrl+C被按下 NameError 尝试访问一个没有申明的变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)...#如果引发了'name'异常,获得附加的数据 else: #如果没有异常发生 ?...int() with base 10: 'hello' try-finally 语句 try-finally 语句无论是否发生异常都将执行最后的代码。
领取专属 10元无门槛券
手把手带您无忧上云