zoukankan      html  css  js  c++  java
  • Python处理异常

    异常操作:

      1、错误的定义和特征

        什么是错误:错误是由于逻辑和语法等导致一个程序无法正常执行的问题

        错误的特征:有些错误无法预知

       2、异常的定义

        异常是程序错误时表示的一种状态

        异常发生时,程序不会再执行,而撞去调用次函数地方待处理此错误并回去为正常状态

      语句:

       1、try:

        try--except 语句

        try:

          肯触发异常的语句

        except 错误类型1[as  变量1] 

          异常处理语句1

        except 错误类型2[as  变量2] 

          异常处理语句2

        except 错误类型2[as  变量2] 

          异常处理语句2

        else:

          未发生异常的语句

        finally:

          最终语句

       作用:捕捉异常。尝试恢复正常

    def div_apple(n):
        print("%d个苹果你想分给几个人?"%n)
        s=input('请输入人数')
        cnt = int(s)
        result = n/cnt
        print("每个人了%d个苹果"%result)
    try:    
        print("开始分苹果")
        div_apple(10)
        print("分苹果")
    except ValueError:
        print("发生生成值错误,已处理并转为正常")
    except ZeroDivisionError:
        print("发生了被零整除的错误,程序转为正常状态")
    print("程序正常执行并完成任务,退出程序")    
        
    

      

    def div_apple(n):
        print("%d个苹果你想分给几个人?"%n)
        s=input('请输入人数')
        cnt = int(s)
        result = n/cnt
        print("每个人了%d个苹果"%result)
    try:
        print("开始分苹果")
        div_apple(10)
        print("分苹果")
    
    except (ValueError,ZeroDivisionError) as err:
        print(err)
        print("苹果不分了,拿回来")
    print("程序正常执行并完成任务,退出程序")

      

    def div_apple(n):
        print("%d个苹果你想分给几个人?"%n)
        s=input('请输入人数')
        cnt = int(s)
        result = n/cnt
        print("每个人了%d个苹果"%result)
    try:    
        print("开始分苹果")
        div_apple(10)
        print("分苹果")
    except ValueError:
        print("发生生成值错误,已处理并转为正常")
    except ZeroDivisionError:
        print("发生了被零整除的错误,程序转为正常状态")
    print("程序正常执行并完成任务,退出程序")  
    

      try - except语句说明

        as子句是用于绑定错误对象的变量,可以省略

        except子句一个或者多个,但至少有一个

        else子句最多一个,可以不写

        finally子句最多一个,可以不写

        else语句在try语句中没有异常时被执行

        finally子句的语句在任何情况下都会被执行

  • 相关阅读:
    20161101学习笔记
    20161031学习笔记
    20161028学习笔记
    20161027学习笔记
    ReentrantLock Condition
    ReentrantLock 重入锁
    CountDownLatch用法与原理
    场景化解释 AQS原理
    Atomic
    多线程工具类
  • 原文地址:https://www.cnblogs.com/followlqc/p/11064287.html
Copyright © 2011-2022 走看看