用 raise 能够主动抛出异常,
            
             使用【 raise 异常名 】抛出该类异常
          
          
            
              raise IndexError
            
          
          
            
               
            
            
             也可以单独使用 raise 再次引发刚发生的异常
          
          
            
              try:
    1/0
except:
    print("错误")
    raise
            
          
          
            
               
            
            
             同时能够指定抛出异常的描述信息
          
          
            
              raise IndexError("索引错误")
            
          
          
            
               
            
            
             所以这样子就用【raise 异常名 from 异常类】可以在引发异常时,抛出另一个异常。不过我不知道为什么要这么做
          
          
            
              try:
    1/0
except Exception:
    raise NameError("变量未定义") from Exception
            
          
          
            
               
            
            
             断言:https://blog.csdn.net/GrofChen/article/details/92798153