异常处理 淩亂°似流年 2023-10-10 10:15 58阅读 0赞 # 异常处理 # ### 错误分类 ### #### 语法错误 #### if 2 > 1 print(222) # 未加冒号 dic = {"name"; "alex"} # 字典中用冒号分隔键和值 tu = (2,3,4!5) # 元组中用逗号相隔 #### 逻辑错误 #### num = int(input("请输入数字")) # 输入数字以外的内容,无法整型化,报错 dic = {"name": "海狗", "age": 18} dic["hobby"] # dic字典中没有["hobby"], 找不到报错 ### try except ### try: num = int(input('>>>')) print(111) except ValueError: print(666) # input输入字符串类型的数字时, 输出111 # input输入字符串类型的非数字时, 输出666 try: dic = {'name': '嘉欣'} print(dic['age']) # 出现KeyError时 直接跳转except num = int(input('>>>')) print(111) except KeyError: print(555) ### 结构分类 ### #### 结构1 单分支 #### try: num = int(input(">>>")) # 出现ValueError错误时, 直接跳转except dic = {"name": "嘉欣"} print(dic["age"]) print(111) except ValueError: print(666) #### 结构2 多分支 #### try: num = int(input(">>>")) dic = {"name": "嘉欣"} print(dic['age']) l1 = [1,2] print(l1[100]) print(111) except ValueError: print("输入的有非数字元素") except KeyError: print("没有此键") except IndexError: print("没有此下标") print(666) #### 结构3 万能异常处理 处理所有python可以识别的异常 #### try: dic = {"name": "嘉欣"} print(dic["age"]) l1 = [1,2] print(l1[100]) print(111) for i in 123: pass except Exception: print(666) # 有异常直接跳转except try: dic = {"name": "嘉欣"} # print(dic["age"]) l1 = [1,2] # print(l1[100]) print(111) for i in 123: pass except Exception as e: print(e) # 捕捉异常并打印出异常原因 #### tips #### 什么时候用万能? 什么时候用多分支? 如果你对错误信息不关心, 只是想排除信息继续让程序走下去, 用万能异常. 你对错误信息要进行明确的分流, 让你的程序多元化开发. ##### 例如: ##### def func(): pass def func1(): pass dic = {1: func, 2: func1} try: num = int(input("请输入序号")) dic[num]() except ValueError: print("请输入数字") except KeyError: print("请输入范围内数字") #### 结构4 多分支 + 万能异常处理 #### def func(): pass def func1(): pass dic = {1: func, 2: func1} try: num = int(input("请输入序号")) dic[num]() except ValueError: print("请输入数字") except KeyError: print("请输入范围内数字") except Exception: print("程序出现了意料之外的错误...") #### 结构5 try else finally #### try: dic = {"name": "嘉欣"} print(dic["age"]) l1 = [1, 2] print(l1[100]) print(111) except KeyError: print("没有此键") except IndexError: print("没有此下标") else: print("如果没有出现异常则执行这里") finally: print("finally 666") # except 必须依赖于try, else必须依赖于except和try # finally只是依赖于try # finally : 在异常出现之前, 执行finally try: dic = {"name": "嘉欣"} print(dic["age"]) l1 = [1,2] print(l1[100]) except KeyError: print("没有此键") except IndexError: print("没有此下标") except Exception: pass print(111) finally: print("finally 666") # finally 关闭数据库连接, 文件句柄关闭,数据保存等时,用到finally # 在return 结束函数之前, 执行finally代码 def func(): try: print(111) return 666 finally: print(222) print(func()) """ 111 222 666 """ #### 结构6 主动触发异常 #### raise ValueError("出现了value错误") #### 结构7 断言:展现出一种强硬的态度. #### assert 条件 name = "alex" n1 = input("请输入:") assert name == n1 print(111) print(222) #### 结构8 自定义异常 #### # python 中给你提供的错误类型很多,但是不是全部的错误 class LiYeError(BaseException): def __init__(self, msg): self.msg = msg def __str__(self): return self.msg try: # 报错代码(万能异常处理无法识别) raise LiYeError("socket.connent...") except LiYeError as e: print(e) 转载于:https://www.cnblogs.com/beichen123/p/11342254.html
相关 异常处理 异常处理 错误分类 语法错误 if 2 > 1 print(222) 未加冒号 dic = {"name"; "alex"} 字典中用冒号分隔键和 淩亂°似流年/ 2023年10月10日 10:15/ 0 赞/ 59 阅读
相关 异常处理 1、异常与错误 错误对于程序而言是致命的,运用java的异常处理机制,异常发生后经过处理,程序还是能正常运行的。如:数组越界异常、除数为0异常等。异常类是指Exception ╰半夏微凉°/ 2023年08月17日 16:09/ 0 赞/ 118 阅读
相关 异常处理 异常 1.什么是异常 在正常运行程序当中,即使语句或表达式在语法上是正确的,但在尝试执行时,它仍可能会引发错误。 在执行时检测到的错误被称为 “异常”,异常不一定会 ╰半橙微兮°/ 2022年12月30日 07:45/ 0 赞/ 132 阅读
相关 异常处理 所谓异常,就是以对象的方式表示一个或一类错误,该异常对象不仅封装了错误信息,还包含了错误发生时的“上下文”信息。传统的错误处理方式是,每当程序调用了某个方法进行了某种操作,程序 Bertha 。/ 2022年06月12日 05:12/ 0 赞/ 294 阅读
相关 异常处理 异常定义: 程序在运行时出现不正常情况。 问题也是现实生活中的一个具体事物,可以通过java类的形式进行描述。并封装成对象。Java对不正常 悠悠/ 2022年06月11日 08:12/ 0 赞/ 220 阅读
相关 异常处理 C++的异常处理机制被称为是不可恢复的:一旦异常被处理,程序的执行就不能够在异常被抛出的地方继续。如果这些 catch 子句不包含返回语句,在catch子句完成它的工作之后,程 忘是亡心i/ 2022年05月23日 03:55/ 0 赞/ 270 阅读
相关 异常处理 异常写入日志 package javaBase.io.others; import java.io.; import java.text.S 妖狐艹你老母/ 2021年12月21日 18:49/ 0 赞/ 399 阅读
相关 异常处理 概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返 系统管理员/ 2021年12月14日 08:49/ 0 赞/ 412 阅读
相关 异常处理 1.异常概述 异常的类型:Error(致命的),Exception(非致命的)以及必检和免检异常。 异常就是一种对象,表示阻止正常进行程序执行的错误或者情况。 异常 待我称王封你为后i/ 2021年11月16日 13:22/ 0 赞/ 445 阅读
相关 异常处理 一、Error java虚拟机无法解决的严重问题。比如:JVM系统内部错误、资源耗尽等严重情况。StackOverflowError。 针对这类错误,一般不编写针对性的代码 痛定思痛。/ 2021年11月16日 10:28/ 0 赞/ 354 阅读
还没有评论,来说两句吧...