• 029异常处理


    ###异常处理
    eg1:

    1 try:
    2     inp = input('输入序号:')
    3     num = int(inp)
    4 except  Exception  as  e:
    5     print(e)
    6     num = 1
    7 
    8 print(num)
    View Code

    eg2:

     1 try:
     2     li = [11,22]
     3     a = li[3]
     4 except  IndexError  as  e:
     5     print(e)
     6 except  ValueError  as  e:
     7     print('ValueError',e)
     8 except  Exception  as  e:
     9     print('Exception',e)
    10 else:
    11     print('else')           # 不出错执行else里面的
    12 finally:
    13     print('一定会执行')    # 一定会执行
    View Code

    对于各种错误类型,写入到不同的日志文件,所以需要抓取不同的错误进行不同的操作

    ##主动触发异常
    try里面写raise  Exception()
    主要也是用于日志记录

    eg:

     1 class  OldBoyError(Exception):
     2     def  __init__(self,msg):
     3         self.message = msg
     4     def  __str__(self):
     5         return  self.message
     6         
     7 try:
     8     raise  OldBoyError('')
     9 except  OldBoyError  as  e:
    10     print(e)
    View Code

    ##assert  断言

    print(213)
    assert  1 == 2         #  1不等于2,这里不满足,就不会进行下面的。
    print(456)
    View Code

    可以捕获,也可以不捕获。强制用户满足某个条件

     一些打的代码会通过编辑重新加入,目的是熟悉知识,熟悉代码

    1、摄氏度转华氏度

     1 import java.util.Scanner;
     2 
     3 public class CelsiusConverter
     4 {
     5     public double get_fahrenheit(double celsius){
     6         double fahrenheit = 1.8 * celsius + 32;
     7         return fahrenheit;
     8     }
     9     public static void main(String[] args)
    10     {
    11         System.out.print("输入你要转换的温度(摄氏度):");
    12         Scanner in = new Scanner(System.in);
    13         double celsius = in.nextDouble();
    14         CelsiusConverter celsius_converter = new CelsiusConverter();
    15         double fahrenheit = celsius_converter.get_fahrenheit(celsius);
    16         System.out.println("华氏度为:" + fahrenheit);
    17     }
    18 }
    CelsiusConverter.java
     1 # __author: _nbloser
     2 # date: 2018/1/22
     3 
     4 class CelsiusConverter:
     5     def get_fehrenheit(self, celsius):
     6         try:
     7             fehrenheit = 1.8 * float(celsius) + 32
     8         except Exception as e:
     9             fehrenheit = 'error'
    10         return fehrenheit
    11 
    12 
    13 if __name__ == '__main__':
    14     celsius = input('输入摄氏度:')
    15     celsius_converter = CelsiusConverter()
    16     fehrenheit = celsius_converter.get_fehrenheit(celsius)
    17     print('华氏度:', fehrenheit)
    celsius_converter.py
  • 相关阅读:
    mysql学习-变量
    车联网-商业模式思考
    数据质量-备忘录
    对话机器学习大神 Michael Jordan:解析领域中各类模型
    Python 高级编程技巧
    Python-闭包(转载)
    PEP8中文翻译
    python-子类和派生、继承
    ZooKeeper之分布式锁(Python版)
    ssh 代理详细解释
  • 原文地址:https://www.cnblogs.com/-nbloser/p/8329766.html
Copyright © 2020-2023  润新知