python异常:
  python的运行时错误称作异常
  (1)语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译
  (2)逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成、计算或者输出结果需要的过程无法执行等

python异常是一个对象,表示错误或意外情况
  (1)在python检测到一个错误时,将触发一个异常
    python可以通常异常传导机制传递一个异常对象,发出一个异常情况出现的信号
    程序员也可以在代码中手动触发异常
  (2)python异常也可以理解为:程序出现了错误而在正常控制流以外采取的行为
    第一阶段:解释器触发异常,此时当前程序流将被打断
    第二阶段:异常处理,如忽略非致命错误、减轻错误带来的影响等

检测和处理异常:
  (1)异常通过try语句来检测
    任何在try语句块里的代码都会被检测,以检查有无异常发生
  (2)try语句主要有两种形式:
    try-except: 检测和处理异常
      可以有多个except
      支持使用else子句处理没有探测异常的执行的代码
    try-finally: 仅检查异常并做一些必要的清理工作
      仅能有一个finally
  (3)try语句的复合形式:
    try-execpt-else-finally

 

1、异常基础

在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!!

try:
    pass
except Exception as ex:   
    pass

#python3.x中是这么写的,python2.x是这么写的:  except Exception,e:

需求:将用户输入的两个数字相加  

while True:
    num1 = raw_input('num1:')
    num2 = raw_input('num2:')
    try:
        num1 = int(num1)
        num2 = int(num2)
        result = num1 + num2
    except Exception as e:
        print('出现异常,信息如下:')
        print(e)

2、异常种类

python中的异常种类非常多,每个异常专门用于处理某一项异常!!!

AssertionError: 断言语句失败
AttributeError: 属性引用或赋值失败
FloatingPointError: 浮点型运算失败
IOError:  I/O操作失败
ImportError: import语句不能找到要导入的模块,或者不能找到该模块特别请求的名称
IndentationError: 解析器遇到了一个由于错误的缩进而引发的语法错误
IndexError: 用来索引序列的证书超出了范围
KeyError: 用来索引映射的键不再映射中
keyboardInterrupt: 用户按了中断键(Ctrl+c,Ctrl+Break或Delete键)
MemoryError: 运算耗尽内存
NameError: 引用了一个不存在的变量名
NotImplementedError: 由抽象基类引发的异常,用于指示一个具体的子类必须覆盖一个方法
OSError: 由模块os中的函数引发的异常,用来指示平台相关的错误
OverflowError: 整数运算的结果太大导致溢出
SyntaxError: 语法错误
SystemError: python本身或某些扩展模块中的内部错误
TypeError:对某对象执行了不支持的操作
UnboundLocalError:引用未绑定值的本地变量
UnicodeError:在Unicode的字符串之间进行转换时发生的错误
ValueError:应用于某个对象的操作或函数,这个对象具有正确的类型,但确有不适当的值
WindowsError:模块os中的函数引发的异常,用来指示与WIndows相关的错误
ZeroDivisionError: 除数为0
ArithmeticError
AssertionError
AttributeError
BaseException
BufferError
BytesWarning
DeprecationWarning
EnvironmentError
EOFError
Exception
FloatingPointError
FutureWarning
GeneratorExit
ImportError
ImportWarning
IndentationError
IndexError
IOError
KeyboardInterrupt
KeyError
LookupError
MemoryError
NameError
NotImplementedError
OSError
OverflowError
PendingDeprecationWarning
ReferenceError
RuntimeError
RuntimeWarning
StandardError
StopIteration
SyntaxError
SyntaxWarning
SystemError
SystemExit
TabError
TypeError
UnboundLocalError
UnicodeDecodeError
UnicodeEncodeError
UnicodeError
UnicodeTranslateError
UnicodeWarning
UserWarning
ValueError
Warning
ZeroDivisionError
更多异常

相关文章:

  • 2021-10-27
  • 2022-12-23
  • 2021-11-27
  • 2021-09-11
  • 2021-12-05
  • 2022-12-23
  • 2021-06-17
猜你喜欢
  • 2021-11-01
  • 2021-12-24
  • 2021-06-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-20
相关资源
相似解决方案