python基础-----异常问题
---恢复内容开始---
当发生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基础-----异常问题的更多相关文章
- python基础-异常(exception)处理
python基础-异常(exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 程序中难免出现错误,而错误分成两种,即语法错误和逻辑错误.语法错误根本过不了pyth ...
- python基础--异常,对象和迭代器
异常处理 面向对象 迭代器和生成器 python异常处理 下面代码触发了一个FileNotFoundError >>> open("notexist.txt") ...
- python基础-异常和模块
异常的定义 #encoding=utf-8 import sys try: 1/0 print "never executed!" except ZeroDivisionError ...
- Python基础——异常
捕捉所有异常 for i in range(10): try: input_number=input('write a number') if input_number=='q': break res ...
- 【原】Python基础-异常
def cacls(x, y): try: return x/y except ZeroDivisionError: print("y can not be zerp") exce ...
- Python基础-异常
异常捕获 常见异常类型 Exception:顶级异常类,大部分异常类都是它的子类.SyntaxError:语法错误TypeError:类型错误ValueError:值错误NameError:找不到名称 ...
- Python基础学习笔记(十三)异常
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-exceptions.html Python用异常对象(excep ...
- Python基础+模块、异常
date:2018414+2018415 day1+2 一.python基础 #coding=utf-8 #注释 #算数运算 +(加) -(减) *(乘) /(除) //(取整) %(取余) ...
- 十九. Python基础(19)--异常
十九. Python基础(19)--异常 1 ● 捕获异常 if VS异常处理: if是预防异常出现, 异常处理是处理异常出现 异常处理一般格式: try: <............. ...
随机推荐
- 110道python面试题
1.一行代码实现1--100之和 利用sum()函数求和 2.如何在一个函数内部修改全局变量 利用global 修改全局变量 3.列出5个python标准库 os:提供了不少与操作系统相关联的函数 s ...
- VM中的Linux如何设置共享文件夹
1.点击[编辑虚拟机设置]-[选项]-[共享文件夹],选择“总是启用” 2.点击[确定],并重启系统,已经设置好了
- linux ssh 报错failed - POSSIBLE BREAK-IN ATTEMPT
linux ssh 报错failed - POSSIBLE BREAK-IN ATTEMPT 问题故障: 今天在新租的虚拟机上,发现ssh登陆机器的时候报错,如下: [root@pictures_ne ...
- Ansible Callback
非api模式下自定义callback ansible.cfg中开启callback功能 callback_plugins = /usr/share/ansible/plugins/callback # ...
- windows配置Java环境变量
打开电脑的高级系统设置-高级-环境变量 新建系统变量,如果已存在则添加到变量尾部,切勿覆盖 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1..0_102 变量 ...
- 改变this指向的三种方法
call.apply.bind三者为改变this指向的方法. 共同点:第一个参数都为改变this的指针.若第一参数为null/undefined,this默认指向window call(无数个参数) ...
- oldboy s21day04
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.简述解释型语言和编译型语言的区别?"""1.解释型语言:Python,PH ...
- 深入理解Python异步编程(上)
本文代码整理自:深入理解Python异步编程(上) 参考:A Web Crawler With asyncio Coroutines 一.同步阻塞方式 import socket def blocki ...
- python位运算
什么是位运算 位运算就是把数字当成二进制来进行计算,位运算有六种:&(与), |(或), ^(异或), ~(非), <<(左移), >>(右移) &(与) &a ...
- SpringBoot系列: 理解 Spring 的依赖注入(二)
==============================Spring 容器中 Bean 的名称==============================声明 bean 有两个方式, 一个是 @B ...