zoukankan      html  css  js  c++  java
  • 45-异常(2)

    3. 自定义异常:

    • 自定义一个异常class,默认继承ExceptionError
    • raise 抛出一个自定义的异常class的对象
        class PasswordException(Exception):
         
            def __init__(self,pw,min_length):
                self.password=pw
                self.min_length=min_length
         
            def __str__(self):
                return "%s的密码错误,密码的最小长度为%s"%(self.password,self.min_length)
         
        def reg(username,password):
            if len(password) < 6:
                raise PasswordException(password,6)#抛出你指定的异常
            else:
                print("用户名为:%s,密码为:%s"%(username,password))
         
        try:
            #reg("zs","1245678")
            reg("zs","124")
        except Exception as ex: #两个except 会按照顺序先执行第一,如果第一个满足异常类型条件,进入第一excep。不会进入后面的except。
            print("第一个except")
            print(ex)
        except PasswordException as ex:
         
            print("第二个exceph")
         
            print(ex)
    

    对异常总结一下:

    • try 放在可能会出错的代码块处,except捕捉并处理相应类型的异常,ExceptionError捕捉所有类型的异常
    • 一旦捕捉到一个异常, 立即跳转至相应类型的except,跳过顺序执行的代码段
    • 多个except会按照顺序依次捕捉相应类型的异常,但只会执行一个except就跳出当前的try---except区 (以"一个try---多个except"作为一个异常捕获区)
    • else 是当try部分没有发生异常才执行,这个else可以没有
    • 只要进入了当前这个try-except区,并且本区内写了finally,就一定会执行;当然finally也可以不写
    • 注意到:若当前没有处理异常,将会向上层抛,直至抛到ExceptionError,由解释器处理
  • 相关阅读:
    Java
    hadoop MapReduce Yarn运行机制
    在eclipse上开发hadoop2.5.2程序的快捷方法
    eclipse快捷键
    HDFS原理介绍
    Java异常
    hadoop初识
    操作系统学习---进程管理(二)
    操作系统学习---进程管理(一)
    操作系统学习---虚拟内存
  • 原文地址:https://www.cnblogs.com/LS1314/p/8504600.html
Copyright © 2011-2022 走看看