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
  • u010735814
  • u010735814
  • 2014年08月24日 10:34
  • 449

Map集合及异常机制

学习目标: 1.Comparator接口的使用; 2.Map集合。 一、Comparator接口的使用 此接口定义排序只能按照compareTo()定义的排序规则; 如果同一类对象要有多种排...
  • Seulementzh1010
  • Seulementzh1010
  • 2018年01月09日 14:22
  • 36

Python编程:基础学习常见错误整理

# Python学习之错误整理: # 错误一: # TypeError: cannot concatenate 'str' and 'int' objects # 不能连接str和int对象 age...
  • btt2013
  • btt2013
  • 2017年01月08日 22:16
  • 285

C++内存分配异常处理

在内存分配失败的情况下,new会抛出bad_alloc的异常,而malloc会返回空指针。 a. new异常处理 try { int* a = new int[8000000000]; c...
  • yfkiss
  • yfkiss
  • 2011年04月14日 15:12
  • 2612

c++指针常见错误

先看一段代码: // HelloWorld.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; in...
  • greyfreedom
  • greyfreedom
  • 2013年02月25日 16:58
  • 1089

git的使用教程及常用错误处理

前情提要: 因为公司项目因为没有备份出现很大问题,而git有版本控制功能,还可以团队协作,支持离线开发,于是选择使用git进行版本控制 1.git下载地址 http://download.csdn....
  • ch1406285246
  • ch1406285246
  • 2017年04月13日 18:22
  • 355

java及Python处理异常的方式和各自的异常种类

一、Java异常   1.处理异常的方式或者叫关键词       try  catch  finally  throw throws(用在方法声明时可能抛出的异常)   2.异常的种类和体系结构   ...
  • chengzi_home
  • chengzi_home
  • 2017年06月30日 13:47
  • 235

python基础之各种异常及其解决方案

我们都知道,任何编程或者脚本语言在写程序时,都会有各种各样的错误异常出现。python当然也不例外;本篇文章就是针对python基础编程中一些经常遇到的异常以及它们的解决方案。 1. Indenta...
  • u011339641
  • u011339641
  • 2015年11月20日 09:40
  • 655

Python -- 9. 文件和异常

1. 从文件中读取数据 (1).读取整个文件with open('pi_digits.txt') as file_object: contents = file_object.read() ...
  • lwbeyond
  • lwbeyond
  • 2017年02月24日 16:02
  • 483

c3p0常见错误及解决办法

用ssh框架做了个小项目,用c3p0做连接池,用的是Mysql 5.1.x ,现问题如下: 现在项目已经发布到服务器,前一天还没什么问题,但是第二天,在运行,老是报com.mysql.jdbc.ex...
  • fygkchina
  • fygkchina
  • 2013年04月05日 16:08
  • 815
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python的常见错误和异常
举报原因:
原因补充:

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