python基础之错误和异常处理
作者:qianqqqq_lu 发布时间:2021-07-28 05:46:15
标签:python,基础,错误,异常处理
import Exception
# except 在捕获错误异常的时候 是要根据具体的错误类型来捕获的
# 用一个块 可以捕获多个不同类型的异常
# EXception 可以捕获所有异常 当对出现的问题或者错误不确定的情况下 可以使用此种
print(dir(Exception))
try:
# print(b) #捕获逻辑的代码
li=[1,2,3,4]
print(li[10])
pass
except NameError as msg:
# 捕获到的错误 才会在这里执行
print(msg)
pass
except IndexError as msg:
print(msg)
print('初次接触异常')
print('HAHAHAHAHHAHAHAH')
try:
# print(b) #捕获逻辑的代码
# li=[1,2,3,4]
# print(li[10])
a=10/0
pass
except NameError as msg:
# 捕获到的错误 才会在这里执行
print(msg)
pass
except IndexError as msg:
print(msg)
pass
except ZeroDivisionError as msg:
print(msg)
print('初次接触异常')
print('HAHAHAHAHHAHAHAH')
异常类型
try:
print(b) #捕获逻辑的代码
# li=[1,2,3,4]
# print(li[10])
# a=10/0
pass
# except NameError as msg:
# # 捕获到的错误 才会在这里执行
# print(msg)
# pass
# except IndexError as msg:
# print(msg)
# pass
# except ZeroDivisionError as msg:
# print(msg)
# pass
except Exception as msg:
print(msg)
pass
print('初次接触异常')
print('HAHAHAHAHHAHAHAH')
def A(s):
return 10/int(s)
pass
def B(s):
return A(s)*2
def main():
try:
B('0')
pass
except Exception as msg:
print(msg)
pass
pass
main()
# 不需要在每个可能出错的地方去捕获,只要在合适的层次去捕获错误就可以了 这样的话 就大大减少我们写try----exception的麻烦
# 异常的抛出机制
#如果在运行时发生异常 解释器会查找相应的异常捕获类型
#如果在当前函数里面没有找到的话 它会将异常传递给上层的调用函数
#如果在最外层 没有找到的话 解释器就会退出 程序down掉
class ToolongmyException(Exception): #自定义异常
def __init__(self,leng):
'''
:param leng:长度
'''
self.len=leng
pass
def __str__(self):
return '您输入的数据长度是'+str(self.len)+'已经超过长度了'
pass
def name_Test():
name=input('请输入姓名:')
if len(name)>5:
raise ToolongmyException(len(name)) #抛出异常
else:
print(name)
pass
pass
name_Test()
class ToolongmyException(Exception): #自定义异常
def __init__(self,leng):
'''
:param leng:长度
'''
self.len=leng
pass
def __str__(self):
return '您输入的数据长度是'+str(self.len)+'已经超过长度了'
pass
def name_Test():
name=input('请输入姓名:')
try:
if len(name)>5:
raise ToolongmyException(len(name)) #抛出异常
else:
print(name)
pass
except ToolongmyException as result:
print(result)
pass
finally:
print('执行完毕了')
pass
name_Test()
来源:https://blog.csdn.net/weixin_44632711/article/details/120705665
0
投稿
猜你喜欢
- 外联接。外联接可以是左向外联接、右向外联接或完整外部联接。 在 FROM 子句中指定外联接时,可以由下列几组关键字中的一组指定:LEFT J
- 近来看论坛上经常有人提问关于如何无刷新,自动更新数据.传统上,我们浏览网页,如果加入最新的数据.只能是等我们重新向服务器端请求时才能显示出来
- 前言Laravel是一个简单优雅的PHP Web开发框架,可以将开发者从意大利面条式的代码中解放出来,通过简单、高雅、表达式语法开发出很棒的
- 1、time模块(※※※※)import time #导入时间模块print(time.time()) #返回当前时间的时间戳,可用于计算程
- 我就废话不多说了,大家还是直接看代码吧!# coding=utf-8import loggingimport yamlimport osim
- 方法一一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数
- 图片轮播滤镜转换效果,只支持ie浏览器<img width="156" height="60"
- 代码如下:'===================================== '获取内容中所有图片 '==
- 可以使用 Application 对象在给定的应用程序的所有用户之间共享信息。基于 ASP 的应用程序同所有的 .asp 文件一样在一个虚拟
- 前言前段时间我有个朋友看到一些小姐姐的照片,想全部下载下来,叫我帮个忙。于是花费了半天给他全部下载了下来。引入库import timeimp
- 前言最近又在重新学习编译原理了,其实两年前也复习过,当初是为了能实现通过 MySQL 的 DDL 生
- 问题:数据库实际大小为600MB, 日志文件实际大小为33MB, 但日志文件占用空间为2.8GB!试了多种方式,SHIRNK DATABAS
- Cookie是一种小型文本文件,存储在用户计算机中,用于跟踪用户在互联网上的活动。Cookie通常由网站创建,以便记住用户的偏好和登录状态,
- 前言在php开发过程中,获取文件扩展名是非常常见的需求。比如我们在上传文件的时候,首先需要判断文件类型是否为我们允许上传的类型。这个时候就需
- 在Microsoft OfficeAccess和 Microsoft OfficeExcel之间存在多种交换数据的方法。若要将Access中
- Oracle的执行计划一句话命令:set autotrace on
- 在风起云涌的互联网浪潮中,产品迭代的速度越来越快。随着用户需求的激增,也不断带来了对设计师能力要求的提高。初入交互设计领域几年来,明显发现可
- 我们以用户查询语句为 https://www.aspxhome.com/chunfeng.asp为例来查询用户资料将从数据库Contact1
- 此BUG最初是在《前端观察》网站刊登,这里再描述一下,代码如下:<style>*{ padding:0; m
- 第二次遇到FF下正则兼容性问题( 第一次是关于"g"全局标志的,现在网上已有很多相关文章介绍)。以下正则在FF和IE下的