python_异常处理(try except)
1,异常捕获
异常捕获的字段为python解释报错的最后一行的第一个单词。使用try方法,程序报错时,可以使用except方法匹配报错的异常关键字,继续except下方定义的代码,从而保证代码可以正常运行,保证代码的稳定性。

# 定义一个计算器
def compute():
num = int(input("请输入被除的值:"))
result = 8 / num
print(result) # 测试方法,输入的数字为0 程序会出现报错 捕获报错异常
try:
print(compute())
except ZeroDivisionError: # ZeroDivisionError 为解释器报错时 最后一行的第一个单词 可以被解释器捕获
print("0不能充当分母,请重新输入")
2,整套异常处理的流程
# 定义一个计算器
def compute():
num = int(input("请输入被除的值:"))
result = 8 / num
return result # 测试方法,输入的数字为0 程序会出现报错 捕获报错异常
try:
print(compute())
except ZeroDivisionError: # ZeroDivisionError 为解释器报错时 最后一行的第一个单词 可以被解释器捕获
print("0不能充当分母,请重新输入")
except ValueError: # ValueError 为解释器另外一种异常错误,匹配到该异常,执行该except下方的代码
print("输入的值错误,请重新输入")
except (ZeroDivisionError,ValueError): # 对多个异常进行处理。
pass
else: # 无异常时,执行
pass
finally: # 有无异常,都会执行的代码
print("*********")
3, 自定义异常
案例:
密码输入长度匹配,长度必须大于8, 小于 10。否则输出“密码长度不正确”
def passwd():
passwd_tmp = input("请输入密码,长度必须大于8位,小于13位:")
if len(passwd_tmp) > 8:
if len(passwd_tmp) < 13:
return passwd_tmp
print("密码长度不对")
ex = Exception("密码长度不正确,请重新输入") # 定义ex变量,保存异常输出提示
raise ex # raise方法跑出变量ex保存的异常输入提示 print(passwd())
如果长度不符合,异常输入如下:
C:/Users/yc/PycharmProjects/yc-study/对象/异常处理.py
请输入密码,长度必须大于8位,小于13位:1
密码长度不对
Traceback (most recent call last):
File "C:\Users\yc\PycharmProjects\yc-study\对象\异常处理.py", line 34, in <module>
print(passwd())
File "C:\Users\yc\PycharmProjects\yc-study\对象\异常处理.py", line 32, in passwd
raise ex # raise方法抛出变量ex保存的异常输入提示
Exception: 密码长度不正确,请重新输入 Process finished with exit code 1
python_异常处理(try except)的更多相关文章
- Python_异常处理结构与调试
while True: x =input('Pleaes input:') try: x=int(x) print('You have input {0}'.format(x)) break exce ...
- python_异常处理_断言
一.Python标准异常 常用异常 Exception 常规错误的基类 AttributeError 试图访问一个对象没有的属性 IOError 输入/ 输出异常,基本上是无法打开文件 ImportE ...
- 零基础学习python_异常处理(32-33课)
我们写完python执行的时候是不是经常会遇到报错,而且报错都是大片红字,这样给别人的感受就是你写的程序怎么老是出问题啊,这样我们还咋么混下去呢?于是乎,就有了异常处理的东东. python的try语 ...
- python_异常处理
常用异常种类 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportError 无法引入模块 ...
- Python_异常处理try...except、raise
一.try...except 有时候我们写程序的时候,会出现一些错误或异常,导致程序终止.例如,做除法时,除数为0,会引起一个ZeroDivisionError 例子: 1 2 3 4 a=10 b= ...
- Python_异常处理、调试
1.try except 机制 # 错误处理 # 一般程序都要用到错误捕获,当没有加且有错误的时候Python解释器会执行错误捕获,且是一层层向上捕获[所以问题点会在最下面] try: print(' ...
- Python_爬虫笔记_2018.3.19
Python_爬虫_笔记 1.前言 1.1爬虫用途: 网站采集.接口采集(地图(jis 热力学 屋里端口/协议).微信.知乎.) 1.2基本流程:网页下载(requests)+网页解析+爬虫调度 网页 ...
- 关于.NET异常处理的思考
年关将至,对于大部分程序员来说,马上就可以闲下来一段时间了,然而在这个闲暇的时间里,唯有争论哪门语言更好可以消磨时光,估计最近会有很多关于java与.net的博文出现,我表示要作为一个吃瓜群众,静静的 ...
- 基于spring注解AOP的异常处理
一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...
- 异常处理汇总 ~ 修正果带着你的Net飞奔吧!
经验库开源地址:https://github.com/dunitian/LoTDotNet 异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983 ...
随机推荐
- 基础文之-----typeof 和 instanceof
为了巩固基础,我会通过实例来详细说明,让我们一起搞懂 typeof 和 instanceof. <!DOCTYPE html> <html lang="en"&g ...
- C#移除字符串中的不可见Unicode字符
背景 最近发现某个数据采集的系统拿下来的数据,有些字段的JSON被莫名截断了,导致后续数据分析的时候解析JSON失败. 类似这样 {"title": "你好 或者这样,多 ...
- 【随笔记】MFC 解决按下 ESC、Enter 键会自动退出的问题
网上大部分人的做法是通过拦截按键消息来屏蔽,实际正确的做法是: 1. 在对话框头文件重载 OnOK()(回车会触发) 和 OnCancel()(ESC会触发) 函数. // XXXXXXXDlg.h ...
- Linux环境下:程序的链接, 装载和库[ELF文件详解]
编译过程拆解 预处理处理生成.i文件, .i文件还是源码文件 将所有的宏定义#define展开. 处理#if, #else, #endif等条件编译指令 处理#include, 原地插入文件 cpp ...
- mysql 5.7安装教程及密码设置
1.安装网址 https://dev.mysql.com/downloads/mysql/ 2.点击 Archives 3.切换版本,之前安装过新版本出现过很多问题,为了方便学习,所以选择了5.7这个 ...
- 对线面试官:浅聊一下 Java 虚拟机栈?
对于 JVM(Java 虚拟机)来说,它有两个非常重要的区域,一个是栈(Java 虚拟机栈),另一个是堆.堆是 JVM 的存储单位,所有的对象和数组都是存储在此区域的:而栈是 JVM 的运行单位,它主 ...
- python导入xls数据到db--优化版
import sys from orator import DatabaseManager import xlrd dbconfig = { 'mysql': { 'driver': 'mysql', ...
- 【unity萌新第一步】Unity的Hello World(适合小白)
Unity萌新的第一步:使用unity写第一个Hello World IT界有个笑话:"我擅长用各种语言写Hello World".我讲这个笑话的目的是,指出:写一个HelloWo ...
- 计算机网络基础05-Web应用
1 Web最重要的构成基础 网页 网页互相连接 1.1 网页 网页包含多个对象 对象:HTML文件.图片文件.视频文件.动态脚本等 基本HTML文件:包含对其它对象引用的连接 1.2 对象的寻址 UR ...
- CCRD_TOC_2008年第7和第8期(ACR专辑)
中信国健临床通讯 2008年第7.第8期合刊 ACR专辑 目 录 强直性脊柱炎 1. 一项随机对照和开放性延伸期试验:TNF拮抗剂治疗放射学前中轴型脊柱关节病 Boettger MK, et al ...