python异常和错误是同一概念吗-为什么-,python错误和异常处理

  python异常和错误是同一概念吗?为什么?,python错误和异常处理

  

  错误和异常概念

  错误:

  1.语法错误:代码不符合解释器或编译器的语法。

  2.逻辑错误:不完整或非法的输入或计算问题。

  异常:程序无法执行,因为执行过程中出现很多问题。

  1.程序遇到逻辑或算法问题。

  2.操作过程中的计算机错误(内存不足或IO错误)

  错误和异常区别

  错误:

  代码运行前的语法或逻辑错误,

  语法错误在执行前修改,逻辑错误不能修改。

  异常分为两步:

  1.异常发生时,如果检测到错误,解释器认为是异常,就会抛出异常;

  2.异常处理、拦截异常、忽略或终止程序处理异常。

  常见Python错误

  常见错误:在ipython下

  1.名称错误

  未定义变量时的直接引用。

  2.如果为真:语法错误

  语法错误

  3.f=open(1.txt) : IOError

  当试图打开不存在的文件时

  4.10/0 :零除法错误

  5.a=int(dd) :值错误

  转换时遇到错误。

  Try - except异常处理(1)

  Try-except:异常处理

  尝试:

  试用套件

  例外[,e]:除外

  Exception_block1.try用于捕捉try_suite中的错误,并将错误传递给except。

  2.Exception用于处理异常。如果异常处理与捕捉异常的设置一致,则使用exception_block来处理异常。

  示例:

  尝试:

  一

  例外情况除外,e:

  打印数据的异常分析-除了捕获:

  案例1:

  尝试:

  未定义

  例外:

  打印“catch an except”案例2:

  尝试:

  如果没有

  例外:

  Print catch an except case 1:可以捕获异常,因为它是一个运行时错误。

  案例2:无法捕捉异常,因为它是语法错误和预运行错误。

  案例三:

  尝试:

  未定义

  除了名称错误,e:

  打印“捕捉异常”,e

  案例4:

  尝试:

  未定义

  除了IOError,e:

  打印“捕捉异常”,ecase:可以捕捉异常,因为设置捕捉了NameError异常。

  案例4:无法捕获异常,因为设置了IOError,并且不会处理NameError。

  Try - except异常处理(2)

  Try-except:处理多个异常。

  尝试:

  试用套件

  1 [e]:除外

  异常_块1

  2 [e]:除外

  异常_块2

  :除外

  异常_阻塞n

  Try-except-else用法

  尝试:

  试用套件

  1 [e]:除外

  异常_块1

  else:

  None_exception如果没有异常,执行else语句中的代码。

  try-finaly语句

  Try-finally语句:

  尝试:

  试用套件

  最后:

  do _最后

  1.如果try语句没有捕获错误,代码执行do_finally语句

  2.如果try语句捕获错误,程序首先执行do_finally语句,然后将捕获到的错误交给python解释器处理

  try-finally语句:

  规则:try-finally无论是否检测到异常,都会执行finally代码

  作用:为异常处理事件提供清理机制,用来关闭文件或者释放系统资源

  try-except-finally使用:

  

try:

   try_suite

  except:

   do_except

  finally:

   do_finally

1.若try语句没有捕获异常,执行完try代码段后,执行finally

  2.若try捕获异常,首先执行except处理错误,然后执行finally

  try-except-else-finally使用:

  

try:

   try_suite

  except:

   do_except

  else:

   do_else

  finally:

   do_finally

1.若try语句没有捕获异常,执行完try代码块后,执行else代码块,最后执行finally

  2.若try捕获异常,首先执行except处理错误,然后执行finally

  with语句

  with语句:

  with context [as var]:

   with_suite

  1.with语句用来代替try-except-finally语句,是代码更加简洁;

  2.context表达式返回是一个对象;

  3.var用来保存context返回对象,单个返回值或者元祖;

  4.with_suite使用var变量来对context返回对象进行操作

  ……

  raise和assert

  raise语句

  raise语句用于主动抛出异常

  语法格式:raise [exception [, args]]

  exception: 异常类

  args: 描述异常信息的元组

  例:

  

raise TypeError

  raise TypeError, 'Test Error'

  raise IOError, 'File Not Exist'

assert语句

  断言语句:assert语句用于检测表达式是否为真,如果为假,引发AssertionError错误;

  语法格式:assert expression [, args]

  expression:表达式

  args:判断条件的描述信息

  例:

  

assert 7==6

  assert 0, 'Test Error'

Python标准和自定义异常

  标准异常:python内建异常,程序执行前就已经存在

  自定义异常:

  1.python允许自定义异常,用于描述python中没有涉及的异常情况

  2.自定义异常必须继承Exception类

  3.自定义异常只能主动触发

  自定义异常示例:

  

class FileError(IOError):

   pass

  raise FileError, 'Test FileError'

  class CustomError(Exception):

   def __init__(self, info):

   Exception.__init__(self)

   self.errorinfo = info

   def __str__(self):

   return 'CustomError: %s' % self.errorinfo

  try:

   raise CustomError('test CustomError')

  except CustomError, e:

   print 'Error Info : %s' % e

相关推荐:《Python教程》以上就是python异常与错误区别的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!

  

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 常见的python异常及处理方法总结图,常见的python异常及处理方法总结论文
  • 常见的python异常及处理方法总结图,常见的python异常及处理方法总结图,常见的Python异常及处理方法总结
  • python异常值处理方法,python异常值检测常见方法
  • python异常处理过程可以概括为三个步骤,python处理异常有哪些方式
  • python如何实现对于数据中异常值的处理,python异常值检测
  • python异常处理中不会用到的关键字,python异常处理关键字
  • 简述python异常处理机制,python异常处理有何作用
  • python异常处理判断是不是整数,python异常处理判断质数
  • python数据异常值的处理,python异常值处理方法
  • python异常处理方法,python异常处理有何作用
  • python处理异常的4种方式,python异常处理总结
  • Python异常处理机制,python针对异常的处理方式
  • python中异常处理的两种方式,python异常数据处理
  • 介绍一下python的异常处理机制,python异常处理实验报告
  • python异常值处理方法,python 异常值
  • 留言与评论(共有 条评论)
       
    验证码: