博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
九、python中的异常处理
阅读量:5014 次
发布时间:2019-06-12

本文共 1562 字,大约阅读时间需要 5 分钟。

1 异常

  当读取一个文件,这个文件并不存在时候,会引发异常,类似的,还有很多异常的情况。

2 简单的异常测试代码

#此处在shell中运行。>>> s = input('Enter something --> ') Enter something --> Traceback (most recent call last): File "
", line 1, in
s = input('Enter something --> ') EOFError: EOF when reading a line >>>

3 通过try  except处理异常

#输入15Enter something --> 15You entered 15#输入ctrl+DEnter something --> ^DWhy did you do an EOF on me?按住ctrl+CEnter something -->You cancelled the operation.

4 自定义异常类抛出异常

# encoding=UTF-8class ShortInputException(Exception):    '''一个由用户定义的异常类'''    def __init__(self, length, atleast):        Exception.__init__(self)        self.length = length        self.atleast = atleasttry:    text = input('Enter something --> ')    if len(text) < 3:        raise ShortInputException(len(text), 3)# 其他工作能在此处继续正常运行except EOFError:    print('Why did you do an EOF on me?')except ShortInputException as ex:    print(('ShortInputException: The input was ' +    '{0} long, expected at least {1}')    .format(ex.length, ex.atleast))else:    print('No exception was raised.')#结果1 输入haEnter something --> haShortInputException: The input was 2 long, expected at least 32 输入hahaEnter something --> hahaNo exception was raised.3 输入ctrl+cEOFError: EOF when reading a line

5 with语句的用法

  在 try 块中获取资源,然后在 finally 块中释放资源是一种常见的模式。因此,还有一个with 语句使得这一过程可以以一种干净的姿态得以完成。 代码如下:

with open("poem.txt") as f:    for line in f:        print(line, end='')#结果   注意,源码文件和poem.txt文件在同一目录下hello worldhaha

参考:《byte-of-python-chinese-edition》

 

转载于:https://www.cnblogs.com/buptzlb/p/7544193.html

你可能感兴趣的文章
aptana乱码解决办法(很原始的方法)
查看>>
正则匹配IP
查看>>
git源码中的Makefile
查看>>
out
查看>>
sql server 基础知识
查看>>
Multiples of 3 and 5
查看>>
什么是渲染流水线
查看>>
Maven新建webapp项目index.jsp报错
查看>>
Spring中使用RedisTemplate操作Redis(spring-data-redis)
查看>>
关于创建数据表
查看>>
Reverse Linked List II
查看>>
复杂链表的复制
查看>>
在实际工作中使用requests+unittest进行接口测试
查看>>
windows github 命令行使用
查看>>
时序图
查看>>
漏洞银行工控安全直播笔记整理
查看>>
最新Godadday+Discuz X3.1建站(一)
查看>>
RC2加密算法
查看>>
ORA-06553:PLS-306:wrong number or types of arguments in call to &#39;&#39;
查看>>
了解CSS核心精髓(一)
查看>>