python的常见错误和异常

原创 2015年11月19日 19:25:06

1 错误和异常的概念

错误:1)语法错误。代码不符合解释器或编译器语法,在执行前可以修改

   2)逻辑错误。不完整或不合法输入(传递参数不合法等)或者计算出现问题(比如出现除0操作)。

异常:执行过程中出现问题导致出现没法执行

出现异常的原因:

1)程序出现逻辑或者算法问题

2)运行过程中计算机错误(内存不够等)


异常的两个步骤:1 异常产生,检查到错误且解释器认为是异常,抛出异常

    2 异常处理,截获异常,忽略或者终止程序处理异常


2 常见错误类型

1)IOError:打开一个不存在的文件(f = open('test.txt'))

2)  ValueError: 强制转换错误(输入a=int('a100'),会出现该错误,表示强制类型转换时类型无效)

3) NameError: 变量未定义就被使用

4) SyntaxError: 当输入if a,回车,显示错误SyntaxError;当输入if a: print a,显示NameError,表示变量a未定义

5)ZeroDivisionError: 除0错误


3 使用try-except对异常处理

格式:try:

try_suite

   except Exception [e]:

exception_block

捕获多个异常的格式:try:

      try_suite

   except Exception1 [e]:

exception_block1

except Exception2 [e]:

exception_block2

except ExceptionN [e]:

exception_blockN


1)try用来捕获try_suite里的错误,且将错误交给except处理

2)except用来处理异常,如果处理异常和设置捕获异常一致,就使用exception_block处理异常

否则使用解释器处理


4 try-finally语句:为异常处理事件提供清理机制,用来关闭文件或释放系统资源

格式:try:

try_suite

       finally:

do_finally

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

2)如果try捕获到错误,程序先执行do_finally,再将捕获到的错误交给Python解释器处理


5 try-except-finally使用

1)若try没有捕获异常,执行完try语句后,执行finally语句

2)若try捕获到异常,执行except语句后再执行finally语句


6 with-as语句

格式:with context [as var]:

with_suite

1) with语句用来代替try-except-finally语句,使代码更加简洁

2)context表达式返回一个对象

3)var用来保存context返回对象,单个返回值或元组

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


7 raise语句用于主动抛出异常

格式raise [exception[ , args]]

exception:异常类

args:字符串,描述异常类的元组


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

格式:assert exception [ , args]

exception:表达式

args:判断条件的描述信息


9 Python标准异常,即内建异常

10 自定义异常:必须继承Exception类,必须主动触发

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Python常见错误和异常(4)

SyntaxError: invalid syntax

java中的常见异常及错误和处理方法

异常机制    a、异常及错误:     Throwable      Error       AWTError...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ICE常见编译和运行(异常)错误

在编译和 Ice 应用相关的文件中,经常因为 ice 相关的文件包含关系而导致编译无法通过,此时的错误一般提示和 handle.h 相关。然而想要解决这样的错误,一般只需要把在无法编译成 .o 文件的...

Android和java开发常见错误和异常整合

错误: java.lang.Error 错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。 . Java.lang.AbstractMeth...

android 常见的一些异常和错误

java.lang.AbstractMethodError 抽象方法错误。当应用试图调用抽象方法时抛出。 java.lang.AssertionError 断言错。用来指示一个断言失败的...

C# 操作Windows Server 2003 AD域 常见异常与错误

这个异常的原因是LDAP的path没有写正确  应该是域名的问题 System.DirectoryServices.DirectoryServicesCOMException was caugh...

Maven常见问题、异常、错误整理【持续更新】

之前也写过一篇与Maven相关的文章,这是第二篇对于Maven常见问题、常见异常的整理。 开一篇新的文章一个原因是自己更换了新的IDE【之前使用myEclipse,现在换成IDEA】,更重要的原因是新...

java的常见异常与错误总结

算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeAr...

常见的web异常错误

基本准则 无论是开发何种应用程序,我们都有两条基本的安全准则:过滤输入 转义输出 过滤输入 过滤输入的意思是,用户输入不应该认为是安全的,你需要总是验证你获得的输入值是在允许范围内。 比如,我...

二十三、java的常见异常与错误总结

算术异常类:ArithmeticExecption  空指针异常类:NullPointerException  类型强制转换异常:ClassCastException  数组负下标异...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)