python中try else语句的使用

try:
    语句...
except 异常的名称:
    语句...

如果未发生异常则运行try之下的语句,如果发生了异常,则运行except下面的语句.,epcept之后的异常类型只在发生对应异常时生效.

a=10
b=0
try:
    c = b/ a
    print(c)
except  IOError ,ZeroDivisionError:
    pass
else:
    print ("no error")
print("done")

try ....except...else 语句,当没有异常发生时,else中的语句将会被执行。

inputValue=input("please input a int data :")
if type(inputValue)!=type(1):
    raise ValueError
else:
    print(inputValue)

raise 引发一个异常

如果输入的数据不是整数,则引发一个ValueError

a=10
b=0
try:
    print(a/b)
finally:
    print ("always excute")

try ...finally 

无论异常是否发生,在程序结束前,finally中的语句都会被执行。

a=10
b=0
try:
    print(a/b)
except:
    print("error")
finally:
    print("always excute")

finally语句也可以和except语句一起使用。

自定义一个MyException类,继承Exception。

class MyException(Exception):
    def __init__(self,message):
        Exception.__init__(self)
        self.message=message   

如果输入的数字小于10,就引发一个MyException异常:

a=input("please input a num:")
if a<10:
    try:
        raise MyException("my excepition is raised ")
    except MyException,e:
        print (e.message)

异常也可以自定义

常见的异常总结

异常名称                    描述
BaseException             所有异常的基类
SystemExit             解释器请求退出
KeyboardInterrupt     用户中断执行(通常是输入^C)
Exception                      常规错误的基类
StopIteration              迭代器没有更多的值
GeneratorExit              生成器(generator)发生异常来通知退出
SystemExit              Python 解释器请求退出
StandardError               所有的内建标准异常的基类
ArithmeticError              所有数值计算错误的基类
FloatingPointError     浮点计算错误
OverflowError                数值运算超出最大限制
ZeroDivisionError     除(或取模)零 (所有数据类型)
AssertionError               断言语句失败
AttributeError               对象没有这个属性
EOFError                      没有内建输入,到达EOF 标记
EnvironmentError     操作系统错误的基类
IOError                     输入/输出操作失败
OSError                     操作系统错误
WindowsError                系统调用失败
ImportError               导入模块/对象失败
KeyboardInterrupt     用户中断执行(通常是输入^C)
LookupError     无效数据查询的基类
IndexError     序列中没有没有此索引(index)
KeyError     映射中没有这个键
MemoryError     内存溢出错误(对于Python 解释器不是致命的)
NameError     未声明/初始化对象 (没有属性)
UnboundLocalError     访问未初始化的本地变量
ReferenceError     弱引用(Weak reference)试图访问已经垃圾回收了的对象
RuntimeError     一般的运行时错误
NotImplementedError     尚未实现的方法
SyntaxError     Python 语法错误
IndentationError     缩进错误
TabError     Tab 和空格混用
SystemError     一般的解释器系统错误
TypeError     对类型无效的操作
ValueError     传入无效的参数
UnicodeError     Unicode 相关的错误
UnicodeDecodeError     Unicode 解码时的错误
UnicodeEncodeError     Unicode 编码时错误
UnicodeTranslateError     Unicode 转换时错误
Warning     警告的基类
DeprecationWarning     关于被弃用的特征的警告
FutureWarning     关于构造将来语义会有改变的警告
OverflowWarning     旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning     关于特性将会被废弃的警告
RuntimeWarning     可疑的运行时行为(runtime behavior)的警告
SyntaxWarning     可疑的语法的警告
UserWarning     用户代码生成的警告

原文地址:https://www.cnblogs.com/journey-mk5/p/9457128.html

时间: 2024-10-29 11:57:21

python中try else语句的使用的相关文章

python中的条件语句,分支语句以及逻辑运算符和比较运算符

python中的if与else语句可执行简单测试 如: a = 3; b = 5; if a<b:     print('a小b大') else:     print('a大b小') 答案输出: a小b大 我对条件判断if的理解:     所谓条件判断其实就是 如果 a<b 我们做相应的处理 否则(a大于b的情况) 我们对a>b做出相应的处理  我们在判断某个变量或者某个表达式 只对真的时候作出相应的处理时else是可选的 比如: name = '张三' isMarry = 'true'

二级Python中的pass语句

说明 尽管在二级教程中提到,pass语句是一个选学的保留字,但是既然课后练习题中有所涉及,我建议还是把它掌握起来.当然,这个语句比较简单,但是经常使用. Python中pass语句的作用 Python pass 是空语句,是为了保持程序结构的完整性.pass 不做任何事情,一般用做占位语句.看下面具体的应用具体即知. 例1:在函数定义中 当编写一个程序时,执行语句部分思路还没有完成,这时你可以用pass语句来占位,也可以当做是一个标记,是要过后来完成的代码.典型的情况是书写函数时,比如下面这样:

第一篇:python中的判断语句和循环

python与C语言的代码格式区别: 需注意:1.python中语句结束没有分号 “;” 2.python中严格要求缩进,且在判断和循环等语句中把括号用冒号代替. 3.经常使用tab键进行缩进. 4.python中输出为print() 5.字符串表示方法有四种: 分别是:{'hello',"hello","""hello """,'''hello'''} 编写格式如下: 1 #if-else 2 if 条件 : 3 写入执行内

Python中的循环语句

Python中有while循环和for循环 下面以一个小例子来说明一下用法,用户输入一些数字,输出这些数字中的最大值和最小值 1 array = [5,4,3,1] 2 3 for i in array: 4 print(i) 5 6 largest = None 7 smallest = None 8 while True: 9 num = input("Enter a number: ") 10 if num == "done" : break if len(n

python中的 sql语句用法

函数中应用sql语句def _get_cust_number(self,cr,uid,ids,field_name,args,context=None): res={} for order in self.browse(cr, uid, ids, context=context): #获取单据信息 aa=order.origin if aa: sql="select t1.cust_numr_no from stock_fah t0 left join sale_orde t1 on t0.or

python2.7高级编程 笔记一(Python中的with语句与上下文管理器学习总结)

0.关于上下文管理器上下文管理器是可以在with语句中使用,拥有__enter__和__exit__方法的对象. with manager as var: do_something(var) 相当于以下情况的简化: var = manager.__enter__() try: do_something(var) finally: manager.__exit__() 换言之,PEP 343中定义的上下文管理器协议允许将无聊的try...except...finally结构抽象到一个单独的类中,仅

Python中使用循环语句打印三角形、菱形

前言:在学习开发语言循环语句的使用过程中,经常会打印各种形状来验证对循环语句的熟练掌握程度,接下来就使用python来打印多种形状练习. 如下示例中:变量i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制星号(*)的个数 1. 打印三角形  1.1 打印直角三角形 #/usr/bin/python rows = int(raw_input('please input a rows:')) i=j=k=1 if rows >= 3: for i in range(0,rows+1):

19:python中的判断语句

19.1 求三角形的面积 问题描述: 给出三角形的三条边,求其面积. 提示: Python的开根号函数sqrt. 你需要判断三角形三边的关系,a+b>c,即任意两边之和大于第三边. 19.2在命令下实验结果: 19.3 Python程序实现如下: 19.4 怎么加入三角形三条边的非法判断 不合法的判断: 程序改过后 19.5 python条件语句总结 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Py

20:python中的循环语句

20.1 while语句 问题描述: 求5!. 提示: 求5的阶乘,即5*4*3*2*1 我总觉得不直观,我想最后打印的是形如:5!= 5*4*3*2*1 = 120 20.1.1 print如何去掉自动换行 怎么去掉换行? 去掉了换行,但是,中间夹有空格,怎么去掉空格? 20.1.2 print如何去掉空格 个人练习:怎么实现从键盘输入一个数(需要判断大于0),计算它的阶乘. 20.2 for语句 问题描述: 写程序把字符串'I love python'以单个字符的形式打印出来. 效果如下: