---恢复内容开始---

当发生python不知所措的错误时,python会创建一个异常对象,

如果你编写处理该异常的代码,程序将会继续运行;

如果你未对异常做任何处理,程序将会停止,并显示一个traceback,其中包含异常的报告。

如果让用户看见traceback,这太low了!!


1、处理ZeroDivisionError异常

print(5/0) #0是不能作为除数的
#######################
Traceback (most recent call last):
File "C:/software/PyCharm/alien/images/first.py", line 1, in <module>
print(5/0)
ZeroDivisionError: division by zero

2、使用try-except代码块

当你认为可能要发生错误时,可以编写一个try-except代码块来处理可能引发的异常。

try:
print(5/0)
"""
如果try代码块中的代码运行起来没有问题,程序将直接跳过except代码块
如果代码运行有问题,python将查找except代码块,并运行其中的代码
"""
except ZeroDivisionError:
print("you can't division by zero!!!")

3、else代码块

try-except-else代码块的工作原理大致如下:

python尝试执行try代码块中的代码;只有可能引发异常的代码才会放在try语句中,一些仅在try代码块成功执行时才需要运行的代码,这些代码应放在else代码块中。

print("give me two numbers,and i will divide them!")
print("enter 'q' to quit!")
while True:
first_number = input("first number:")
if first_number == "q":
break
second_number = input("second number:")
if second_number == "q":
break
try:
anwser = int(first_number) / int(second_number)
except ZeroDivisionError:
print("you can't division by zero!!!")
else:
print(anwser)

python基础-----异常问题的更多相关文章

  1. python基础-异常(exception)处理

    python基础-异常(exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 程序中难免出现错误,而错误分成两种,即语法错误和逻辑错误.语法错误根本过不了pyth ...

  2. python基础--异常,对象和迭代器

    异常处理 面向对象 迭代器和生成器 python异常处理 下面代码触发了一个FileNotFoundError >>> open("notexist.txt") ...

  3. python基础-异常和模块

    异常的定义 #encoding=utf-8 import sys try: 1/0 print "never executed!" except ZeroDivisionError ...

  4. Python基础——异常

    捕捉所有异常 for i in range(10): try: input_number=input('write a number') if input_number=='q': break res ...

  5. 【原】Python基础-异常

    def cacls(x, y): try: return x/y except ZeroDivisionError: print("y can not be zerp") exce ...

  6. Python基础-异常

    异常捕获 常见异常类型 Exception:顶级异常类,大部分异常类都是它的子类.SyntaxError:语法错误TypeError:类型错误ValueError:值错误NameError:找不到名称 ...

  7. Python基础学习笔记(十三)异常

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-exceptions.html Python用异常对象(excep ...

  8. Python基础+模块、异常

    date:2018414+2018415 day1+2 一.python基础 #coding=utf-8 #注释 #算数运算 +(加)  -(减)  *(乘)  /(除)  //(取整)  %(取余) ...

  9. 十九. Python基础(19)--异常

    十九. Python基础(19)--异常 1 ● 捕获异常 if VS异常处理: if是预防异常出现, 异常处理是处理异常出现 异常处理一般格式: try:     <............. ...

随机推荐

  1. bitmap的使用

    https://blog.csdn.net/csdnsevenn/article/details/82230049 使用bitmap来解决: 2的32次方大概是42亿个数,所以这么多数中,存在的为1, ...

  2. php php-fpm安装 nginx配置php

    centos 6.2 linux下安装php5.6.6源码 PHP在 5.3.3 之后已经把php-fpm并入到php的核心代码中了. 所以php-fpm不需要单独的下载安装.要想php支持php-f ...

  3. Jqgrid pager 关于“local” dataType 动态加载数据分页的研究(没好用的研究结果)

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  4. 在中国使用苹果Mac电脑的都是些什么人?

    来源:PConline 资讯 文章收录于:风云社区(提供上千款各类Mac软件下载)   (图片来源于互联网分享,如涉及版权问题请联系作者删除) 在中国用Mac的都是什么人?腾讯CDC用户研究中心对 Q ...

  5. 运维监控-Zabbix Server 使用微信 WeChat 告警

    运维监控-Zabbix Server 使用微信 WeChat 告警 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 微信公众号告警每个一天只支持1000次告警,如果超出这个次数了就不 ...

  6. iptables之端口限速

    #iptables -A FORWARD -p tcp -m tcp --sport 10000 -m limit --limit 500/sec --limit-burst 1000 -j ACCE ...

  7. java中用jdom创建xml文档/将数据写入XML中

    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; i ...

  8. mysql 安装部署

    如下方法 安装完成后 没有my.ini 配置文件,请结合下篇(mysql安装绑定my.ini)文章一起看. 安装包的安装方式:参考:https://www.cnblogs.com/ayyl/p/597 ...

  9. MyEclipse项目中,让修改后的Servlet文件立即运行生效方法

    运行的时候用Debug模式发布如图 java 自动生成get set方法的快捷键是什么? Re:在myeclipse中按住shift+alt+s选择 generate getters and sett ...

  10. expdp和impdp导入导出用法【转】

    关于expdp和impdp exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用.expdp和impdp是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用.i ...