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()

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • python基础之内置函数

    https://docs.python.org/3/library/function.html #python官方网址 # 取绝对值 print(abs(-34)) # 取参数的近似值,精度与版本有关 print(round(3.66)) # 求次方 print(3**5) print(pow(3,5)) #求3的5次方 # max求最大值 print(max([23,123,13455,14664345,243565])) # eval 执行表达式 a,b,c=1,2,3 print('动态执

  • python基础之引用和匿名函数

    a=1 #1 为对象, def func(x): print('x的地址{}'.format(id(x))) x=2 print('x的地址{}'.format(id(x))) pass # 调用函数 print('a的地址:{}'.format(id(a))) func(a) # 不可变类型 a=1 #1 为对象, ##传递的是一个对象的引用,并不是一个值 def func(x): print('x的地址{}'.format(id(x))) x=2 print('x的地址{}'.format(

  • python基础之集合

    # set 不支持索引和切片,是一个无需的不重复得到容器 # 类似于字典,但是只有key 没有value # 创建集合 dic1={} set1={1,2,3} print(type(set1)) print(type(dic1)) dic1={} set1={1,2,3} print(type(set1)) print(type(dic1)) set1.add('python') #添加数据 print(set1) # 清空操作 set1.clear() print(set1) set1={1

  • python基础之多态

    目录 多态 案例演示 总结 多态 多态:顾名思义九四多种形态\状态,就是同一种行为对不同的子类[对象]有不同的行为表现 要想实现多态 必须有两个前提需要遵守: 1.必须存在一种继承关系,必须发生在父类和子类之间 2.重写:子类重写父类的方法 多态的优点: 多态可以增加程序的灵活性 增加程序的扩展性 只要具备某种方法,无论继承者是谁,定义者是谁,都可以去调用 案例演示 class Animal: def say_who(self): ''' 父类[基类] :return: ''' print('你

  • python基础之函数的定义和调用

    # 第一题 # 写函数,接受n个数字,求这些参数数字的和 def sumFunc(*args): # 处理接受的数据 result=0 for item in args: result+=item pass return result pass # 调用 rs=sumFunc(1,2,3,4) print('rs={}'.format(rs)) #填坑法 format格式化输出 # 写函数找出传入的列表或元组的奇数位对应的元素,并返回一个新的列表 def processFunc(con): li

  • python基础之递归函数

    # 递归满足的条件 # 1.自己调用自己 # 2.必须有一个明确的结束条件 # 优点:逻辑简单\定义简单 # 缺点:防止内存消耗过多,容易导致栈溢出,内存资源紧张,甚至内存泄漏事件发生 # 求阶乘 # 循环的方式去实现 def jiecheng(n): result=1 for item in range(1,n+1): result*=item pass return result #普通函数必须指定返回值 print('4的阶乘为{}'.format(jiecheng(4))) def di

  • python基础之类型转换函数

    类似于and操作 类似于or操作 # 类型转换 # sorted li=[2,45,1,67,23,10] li.sort() #list的排序方法 print(li) # sorted li=[2,45,1,67,23,10] # li.sort() #list的排序方法 print(li) # sorted() sorted(li) print(li) # 类型转换 # sorted li=[2,45,1,67,23,10] # li.sort() #list的排序方法 print(li)

  • 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(ms

  • Python中的错误和异常处理简单操作示例【try-except用法】

    本文实例讲述了Python中的错误和异常处理操作.分享给大家供大家参考,具体如下: #coding=utf8 print ''''' 程序编译时会检测语法错误. 当检测到一个错误,解释器会引发一个异常,并显示异常的详细信息. 在代码中添加错误检测及异常处理,只需要将代码封装在try-except语句中. try: try_suite except : except_suite ------------------------------------------------------------

  • python基础之文件操作和异常处理

    一.文件和异常 1.1从文件中读取数据 读取整个文件 读取文件先要创建一个文件,在程序的同一目录下. greet.txt "Hello World! Hello World! Hello World! Hello World!" with open('greet.txt') as file_object: contents=file_object.read() print(contents) 如果txt文件中有中文,输出出现乱码时,可以with open('greet.txt',enc

  • Python基础之语法错误和异常详解

    目录 一.前言 二.异常 三.异常处理 3.1 try/except 3.2 try/except ... else 3.3 try-finally 四.抛出异常 4.1 raise 五.用户自定义异常 六.断言 assert 一.前言 Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常. 二.异常 即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误.运行期检测到的错误被称为异常 三.异常处理 3.1 try/except tr

  • Python基础入门之魔法方法与异常处理

    目录 一.魔法方法 1.属性访问 2.描述符 3.定制序列 5.生成器 二.异常处理 1.异常类型 2.try-except 语句 3.try-finally 语句 4.raise 语句 5.丰富的else语句 总结 一.魔法方法 1.属性访问 通常可以通过点(.)操作符的形式去访问对象的属性. class C: def __init__(self): self.x='X-man' c=C() c.x 'X-man' getattr(c , 'x' , '木有这个属性') 'X-man' get

  • Python基础知识方法重写+文件处理+异常处理

    目录 一.方法重写 二.运算符重载 三.文件处理 打开关闭文件 文件读写 四.异常处理 异常 抛出异常 最后 前言; Python基础知识+结构+数据类型 Python基础学习列表+元组+字典+集合 Python基础学习函数+模块+类 今天给大家分享的是第四篇,前面几篇我都放在上面了.小伙伴可以自己巩固复习 一.方法重写 print("-------------方法重写------------"); # coding=utf-8 class Parent: # 定义父类 def myM

  • Python基础教程之错误和异常的处理方法

    目录 前言 异常与错误的概念 错误分类 语法错误 运行时错误 逻辑错误 异常处理机制 捕获异常并处理 主动抛出异常 断言处理 自定义异常类 常见异常及释义 附:用户自定义异常实例 总结 前言 继续更新Python基础语法,到目前为止Python基础语法已经接近了尾声,本次错误与异常处理更新完后会对文件.数据库.包管理.模块管理.正则表达式的使用进行更新.完成这几个大致的任务之后将会更新爬虫与数据分析.本专栏所写的东西非常的适用初学者,当然也非常适合老手,每一部分都有很全面的编程技巧.相信大家看完

  • Python基础异常处理梳理总结

    目录 前言 一.常见的Python异常 AssertionError:断言语句(assert)失败 AttributeError:尝试访问未知的对象属性 IndexError:索引超出序列的范围 KeyError:字典查找一个不存在的关键字 NameError:尝试访问一个不存在的变量 OSError:操作系统产生的异常 SyntaxError:Python的语法错误 TypeError:不同类型间的无效操作 ZeroDivisionError:除数为零 二.try-except语句 三.对多个

  • Python基础教程之异常处理详解

    目录 前言 异常 错误与异常 语法错误 异常 异常处理 自主抛出异常 自定义异常 finally子句 总结 前言 最近发现有些东西长时间不用就要忘了,坚持每天复习总结一个小知识点吧~ 异常是什么呢?就是在代码执行过程中非预期的执行结果,随着代码越来越复杂,代码中的执行逻辑也会越来越复杂,如果没有处理好异常情况,很有可能造成软件执行错误,导致重大损失.相反,如果合理的处理异常情况,则可以增强软件的稳定性,提高体验感. 异常 在Python中,使用异常对象(exception object)来表示代

  •  Python错误与异常处理

    1. 从键盘输入一个整数,求 100 除以它的商,并显示输出.要求对从键盘输入的数值进行异常处理. try:     n=int(input("请输入一个整数:"))     x=100/n     print(x) except ValueError:     print("异常,请重新输入:") else:         #可选项,必须try-except语句为前提     print("程序正常运行,没有捕捉到异常") 2.编程实现索引超

随机推荐