首页 > 其他分享 >异常捕获

异常捕获

时间:2023-01-18 20:34:39浏览次数:22  
标签:错误 捕获 except try 类型 异常 代码

目录

异常捕获

一、关于异常捕获的基本知识

1.异常定义

异常就是代码运行报错 行业俗语叫bug
代码运行中一旦遇到异常会直接结束整个程序的运行 我们在编写代码的过程中药尽可能避免

2.异常分类

语法错误 不允许出现 一旦出现立刻改正 否则提桶跑路
逻辑错误 允许出现的 因为它一眼发现不了 代码运行之后才可能会出现

3.异常结构

错误位置
错误类型
错误详情

4.异常类型

SyntaxError  
NameError
IndexError
KeyError
IndentationError
Exception/BaseException
......

5.断言与主动抛异常

'断言' assert

name = 'almira'
assert isinstance(name, str)
print('哈哈哈 我就说吧 肯定是字符串')
name.strip()
'主动报异常'	raise

name = 'almira'
if name == 'almira':
    raise Exception('老子不干了')
else:
     print('正常走')

二、异常捕获语法结构

1.基本语法结构

try:
    待监测的代码(可能会出错的代码)
except 错误类型:
    针对上述错误类型制定的方案   

2.查看错误的信息

try:
    待监测的代码(可能会出错的代码)       
except 错误类型 as e:  # e就是系统提示的错误信息
    针对上述错误类型制定的方案

3.针对不同的错误类型制定不同的解决方案

try:
    待监测的代码(可能会出错的代码)
except 错误类型1 as e:  # e就是系统提示的错误信息
    针对上述错误类型1制定的方案
except 错误类型2 as e:  # e就是系统提示的错误信息
    针对上述错误类型2制定的方案
except 错误类型3 as e:  # e就是系统提示的错误信息
    针对上述错误类型3制定的方案
 	...

4.万能异常 Exception/BaseException

try:
    待监测的代码(可能会出错的代码)
except Exception as e:  # e就是系统提示的错误信息
     针对各种常见的错误类型全部统一处理

5.结合else使用

try:
    待监测的代码(可能会出错的代码)
except Exception as e:  # e就是系统提示的错误信息
    针对各种常见的错误类型全部统一处理
else:
    try的子代码正常运行结束没有任何的报错后 再执行else子代码

6.结合finally使用

try:
    待监测的代码(可能会出错的代码)
except Exception as e:  # e就是系统提示的错误信息
    针对各种常见的错误类型全部统一处理
else:
    try的子代码正常运行结束没有任何的报错后 再执行else子代码
finally:
    无论try的子代码是否报错 最后都要执行finally子代码

7.异常捕获应用场景

·异常处理能尽量少用就少用
·被try监测的代码能尽量少就尽量少
·当代码中可能会出现一些无法控制的情况报错才应该考虑使用 如断网断电

标签:错误,捕获,except,try,类型,异常,代码
From: https://www.cnblogs.com/almira998/p/17060516.html

相关文章

  • ssh登录异常
    概述golang实现telnet效果发现ssh异常,在正常的linux是没问题在wsl下提示如下异常envwindow11wsl2.0golang异常信息openfailed:administrativelyprohibited:o......
  • 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话
    1.简介前边几篇宏哥介绍了Charles界面内容以及作用。今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了。因为上一篇许多小伙伴看到宏哥的Charle......
  • Dubbo-11191 用Maven插件应急修复Dubbo3.1.5以前的空指针异常
    问题java.lang.NullPointerException:nullatorg.apache.dubbo.registry.client.metadata.MetadataServiceDelegation.getAllUnmodifiableSubscribedURLs(MetadataS......
  • 6异常机制
    异常机制异常是指程序运行中出现的不期而至的各种状况:文件找不到、网络连接失败、非法参数等   ctrl+alt+t自定义异常用户自定义异常类,只需继承Exception类即可......
  • 统一返回对象封装和统一异常捕获封装springboot starter
    好久没有更新文章了,高龄开发没什么技术,去了外包公司后没怎么更新文章了。今天分享下统一处理starter,相信开发web系统的时候都是会涉及到前后端的交互,而后端返回数据的时候......
  • 小满nestjs(第十七章 nestjs 异常拦截器)
    上一章我们讲了全局响应拦截,这一章我们来讲一下全局异常拦截器common下面新建filter.ts让我们创建一个异常过滤器,它负责捕获作为​​HttpException​​​类实例的异常,并为它......
  • 手写笔记16:错题整理“继承 & 异常”
    ......
  • 异常
    异常分类检查性异常、运行时异常、错误ERROR:检查性异常:用户错误或问题引起的异常,程序员无法预见;在编译时不能被忽略;例如:打开一个不存在的文件运行时异常:可......
  • 全局异常处理器的简单实现
    入门案例:@Slf4j@RestControllerAdvice(annotations={RestController.class,Controller.class})publicclassGlobalExceptionHandler{//java.sql.SQLIntegrity......
  • Microsoft 解决方案:配置File Stream异常
    Blog链接:https://blog.51cto.com/u_13637423应客户需求,需要在SQLServer上部署FileStreamProvider,将blob存储到其他存储介质中,但在配置过程中,创建filetable时SQLServe......