异常处理

Windows的异常处理 文章目录Windows的异常处理SEHSEH的终结处理SEH的异常处理过滤表达式嵌套使用异常处理和终结处理SEH的实现机制局部展开全局展开VEHSEH和VEH的区别 Windows的异常处理 Windows系统的异常处理有两种: 结构化异常处理(SEH,Structured Exception Handling) 向量化异常处理(VEH,Vectored Exception Handling) SEH Windows定义了SEH机制来规范异常处理代码的设计(对程序员)和编译(对编译器)。 SEH 提供了 阅读详情

异常是程序在执行过程中所产生的问题
凡是能够用代码去纠正的就是异常
不能够用代码去纠正解决的就是错误
错误eg:硬件问题,运行环境问题
java中问题分为:异常(Exception)和错误(Error)
异常分类:
编译期异常<——>检查异常:checked Exception
运行时异常<——>不检查异常:unchecked Exception

捕获异常(语法):
try–catch
语法:try{
//正常逻辑下,有可能发生异常的代码
}catch(捕获的异常类型,也是一个引用变量){
处理代码、异常代码
}
try后面可以接多个catch,且是顺序检查的,当一个异常被抛出的,这个catch执行,其他被忽略
当捕获多个catch的时候,catch之间有继承关系的时候,顺序有关系,把子类写在前面,父类写在后面,不然的话以进来就执行父类的catch,不会在去执行子类的catch了
这里写图片描述
完整的捕获:
try—catch—finally
不管是否发生异常都必须要执行的代码写到finally中
finally直接写在catch完之后
它是不管是否发生异常都必须执行的代码,就算前面有break或者数return等跳转语句,也要先执行finally,在跳转。
使用到资源的清理、通道的关闭以及各种的链接用finally(相当于就是去擦屁股的)
try catch finally 不能单独存在
如果try里面是一个基本数据类型那么finally是不会改变try里面的值
如过try里面是一个引用数据类型,finally会改变try里面的值

throw
throws Exception 写在方法的后面的,表示的是将这个异常抛出,抛到方法调用者去处理,自己不做处理,若一直向上抛,则会抛到虚拟机去处理

这个异常对想是new出来的 eg:Exception ex = new Exception ();

throw 是写在方法体当中的,后面接的是一个异常对象,一旦执行到这句代码,就会真正的发生异常抛出的动作
throws 是写在方法声明的最后,后面跟的是异常类的类名,可以跟多个,中间用逗号隔开。作用是警告方法的调用者,本方法有可能会发生某些类型的异常。

当throw后面跟的是一个运行时异常的时候,编译器不会强制我们在本方法声明后面加上throws。 就算我们自己加上,本方法的调用者也不会编译期收到警告。
如果throw(包括exception)后面跟的编译期异常, 编译器会强制我们在本方法的声明后面加上throws

自定义异常:
自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,根据异常名就可以知道哪里有异常,根据异常提示信息进行修改。(也就是书上老师将的那个图)
1.首先要继承Throwable 后者Exception
2.1书写带参构造,将已发生的异常对象信息封装到自定义异常对象身上
2.2通常还要在写一个带 String 参的异常,这个构造是针对于业务异常的。因为虚拟机产生的异常是直接加减乘除,不管是不是符合逻辑
而这个构造就是将业务异常的信息装入到自定义异常对象身上
3.添加自定义异常的特有方法

Debug:
断点:就是让程序停到某个位置,直接在左边代码行数双击
一句一句执行:F6
进入某个方法:F5
程序顺序向下走,不在调试:F8
Ctrl + shift + I;可以看到具体一个变量的所有属性

Fritzing0.9.10下载安装和简单使用 Fritzing 作为一款电子设计自动化软件,其画图用于导入到论文和文档,清晰好看,能解决用相机拍实物照片杜邦线很乱的痛点。 阅读详情

相关推荐

单细胞多组学数据整合分析实战:从原始数据到跨平台合并

本文详细介绍了单细胞多组学数据整合分析的实战流程,从原始数据处理到跨平台合并分析。通过Seurat和Harmony等工具的应用,帮助研究者有效解决批次效应问题,保留真实的生物学信号。文章包含代码示例和常见问题解决方案,特别适合需要进行单细胞合并分析的研究人员参考。

weixin_30752699的博客 90

Python程序异常处理

异常就是程序运行时发生错误的信号,在程序由于某些原因出现错误的时候,若程序没有处理它,则会抛出异常,程序也的运行也会随之终止;1.程序终止,无法运行下去;2…如果程序是面向客户,那么会使客户的体验感很差,进而影响业务;当处理不确定因素时,比如有用户参与,有外界数据传入时,都容易出现异常;1.由于语法错误导致程序出现异常,这种错误,根本过不了Python解释器的语法检查,必须在程序执行前就改正;

Python编程学习的博客 6458

Android系统编译之Communication error with Jack server (35), try ‘jack-diagnose‘ or see Jack server log

jack server failed场景个人分析网上分析分析1分析2原因1:权限问题原因2:端口占用原因3:删除 TLSv1, TLSv1.1测试结论解决方案说明相关链接 场景 在进行Android系统开发时,在liunx编译时发生问题,描述如下: ninja: build stopped: subcommand failed. build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed make: *** [ninja_wrapper

weixin_43194854的博客 2401

SpringBoot异常处理

把异常页面统一放在templates的error文件夹下404、500实际项目处理中会出现各种各样的异常,如果以上面的方式处理异常,我们就需要写大量的异常处理页面,太过麻烦,可以定义中一个全部异常处理页面使用了全局异常处理后原本的/error页面就会失效共有三种方法:这里举例两种一、注解自定义一个全局异常处理类,只需上面加上 @ControllerAdvice 注解同时要在执行异常处理的方法上标记@ExceptionHandler。

仰望-星空~~的博客 5219

用Multisim和AD2复刻经典:手把手教你搭建μA741三角波-方波发生器(附完整避坑指南)

本文详细介绍了如何使用Multisim和AD2搭建基于μA741运算放大器的三角波-方波发生器,包括电路原理、Multisim仿真流程、AD2硬件搭建及调试技巧。通过对比理论计算、仿真和实测数据,深入分析器件非理想特性的影响,并提供16个典型问题的解决方案,帮助读者掌握波形发生器的设计原理和工程调试经验。

weixin_28744423的博客 284

Unity3d移动端性能优化

以下条目主要针对移动端,大部分也适合PC端 一、Profiler的使用 1.性能优化应贯穿项目开发的全过程,如需求(性能能不能达到要求)、设计、开发、测试等。不能开发结束才优化性能。 2.官方推荐的优化工具是【Window】->【Profiler】 3.确认瓶颈是CPU-bound(Gfx.WaitForCommands)还是CPU-bound(Gfx.WaitForPresent) 4.内存分析使用Memory Profiler 二、内存优作 5.减少内存收集的影...

zouxin_88的专栏 3060

spring异常处理

在项目中采用spring的异常处理机制:示例一、在Controller中加@ExceptionHandler注解定义异常拦截的方法,在方法中定义返回的页面: error.jsp 示例二、将异常处理做成一个公共的: 效果:两者区别:示例一只能捕获所属Controller中的方法抛出的异常,不能捕获其他Controller中的,示例二可以捕获所有Controller抛出的异常。下面看源码分析: 由handlerAdapter进行反射调用后,调到controller中的具体方法,抛出的异常最终被捕获,

weixin_38441454的博客 3305

用LangFuse+LangChain打造可观测的AI应用:从埋点到成本监控实战

本文详细介绍了如何将开源可观测性平台LangFuse深度集成到基于LangChain构建的AI应用中,特别是电商客服机器人场景。通过从基础SDK集成、提示词管理到成本监控的完整实战,帮助开发者实现对LLM应用内部工作流的清晰追踪、问题排查与费用分析,从而打造稳定、可控的生产级AI应用。

dapp9builder的博客 711

什么是异常处理以及异常处理的方式

错误分为两种,一种为语法错误,一种为逻辑错误 异常就是程序运行错误时发出的型号,或者说是程序运行崩溃的结果 常用异常: AttributeError试图访问一个对象没有的属性,比如调用Foo.x,但是Foo下没有x属性 IOError输入/输出异常,基本上是无法打开文件的 ImportError无法引入模块或包,基本上是路径问题或者名称错误 IndentationError语法错误的子类,代码没有...

我一定要成为测试开发! 4918

避坑指南:MTK平台Widevine L1密钥安装全流程详解(含SP META工具使用与Log分析)

本文详细解析了MTK平台实现Widevine L1认证的全流程,涵盖密钥申请、格式转换、安全烧录等关键步骤,特别针对Trustonic TEE环境下的SP META工具使用与日志分析提供实用指南。帮助开发者规避常见错误,确保DRM密钥安全部署,满足高端内容保护需求。

weixin_27219587的博客 476

stm32项目实战(1)光敏电阻的介绍和使用

文章目录前言一、光敏电阻介绍二、cubeMX配置三、代码说明总结 前言 本篇文章我们讲带大家了解光敏电阻的使用 一、光敏电阻介绍 下面是4线光敏电阻实物图 产品接线说明: 1、VCC 接电源正极 3.3-5V 2、GND 接电源负极 3、DO TTL 开关信号输出 (配置为输出模式) 4、AO 模拟信号输出(ADC采样通道) 光敏电阻主要用于检测周围的光照强度,光照强度发生变化那么ADC采样的值也会发送变化。 二、cubeMX配置 简单的配置我们就不多说了主要是ADC采样的配置 这里我采用的是ADC1通道

m0_49476241的博客 1万+

C# 异常处理

异常处理机制为开发者提供了一种有效的方式,能够将程序的控制权从出现问题的部分合理地转移到其他部分,确保程序在遇到意外情况时依然能够保持相对稳定的运行状态,或者至少能够以一种可控的方式终止并给出相应提示。C# 的异常处理建立在四个至关重要的关键词之上,它们分别是 try、catch、finally 和 throw,各自承担着不同且关键的职责,共同构建起了完善的异常处理体系。除了使用系统预定义的异常类来处理常见的异常情况外,开发者还可以根据实际业务需求定义自己的异常。tryelse。

2401_83367969的博客 2453

【2024/3/12 更新】Windows Server 2019 服务配置与管理汇总

本栏目一共介绍了17种Windows Server 2019 的服务配置与管理,为了方便大家阅读理解,特意总结了17种服务的一些内容。具体说明如下所示

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 2万+

深入浅出Windows异常处理

程序执行过程中难免会发生错误,例如访问非法内存地址或除数为零等,CPU负责检测此类错误并转交给Windows处理,此类错误称为硬件异常。除了硬件异常,操作系统和应用程序还可以显式抛出一个异常,称为软件异常。异常处理是指异常发生后(包括硬件异常和软件异常),Windows或应用程序所执行的一段处理逻辑,这种处理逻辑旨在应对和解决异常情况,从而确保系统或应用程序能够继续运行或安全地终止。 异常发生时,如果程序中没有显式设置相应的异常处理代码,系统通常会启动Windows错误报告(Windows Error Re

huaqiang56的博客 2550

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C++的异常处理

一、什么是异常处理        一句话:异常处理就是处理程序中的错误。二、为什么需要异常处理,以及异常处理的基本思想        C++之父Bjarne Stroustrup在《The C++ Programming Language》中讲到:一个库的作者可以检测出发生了运行时错误,但一般不知道怎样去处理它们(因为和用户具体的应用有关);另一方面,库的用户知道怎样处理这些错误,但却

大黑暗天 的专栏 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

kotlin中的异常处理_Kotlin异常处理

kotlin中的异常处理In this tutorial, we’ll be discussing Exception Handling in Kotlin. 在本教程中,我们将讨论Kotlin中的异常处理。 什么是例外? (What are Exceptions?) Exceptions are something that can break your program. That make...

从零开始的教程世界 4961

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

springboot之异常处理

异常分类: 代表编译和系统错误,不允许捕获 标准Java库的方法所激发的异常,包含运行异常Runtime_Exception和非运行异常 Non_RuntimeException 的子类 运行时异常。 非运行时可检测的异常,Java 编译器利用分析方法或构造方法中可能产生的结果来检测程序中是否含有检测异常的处理程序,每个可能的可检测异常、方法或构造方法的 throws 子句必须列出该异常对应的类。 用户自定义异常异常处理用于解决一些程序无法掌控, 但又必须面对的情况。例如,程序需要读取文件、连接网络、使用数

2202_75695913的博客 1251

SEH异常处理学习总结

前一段时间,在看异常处理一章内容的时候,发现这一部分还真的挺有尿水:)所以上网搜了一下有关内容,呦嗬,还挺丰富的。当然有些自己还是看不懂,现在就将这些宝贝拿出来跟大家共享一下。首先我们看一下使用异常处理的几种情况:A. 用来处理非致命的错误B. 对API函数的参数合法性的检验(假设参数都是合法的,只有遇到异常的时候进行合法性检验)C. 处理致命错误(退出时最好的选择,但是有的时候可以用异常处理函数

ToBeroOTer的专栏 4590

Java异常处理

/ 支付异常(继承RuntimeException)// 异常附加信息异常处理核心要点理解异常分类:明确Error/Checked/Unchecked的区别选择合适的异常类型:业务异常优先使用RuntimeException保持异常信息完整:包含业务上下文和原始异常全局异常处理:统一REST API错误格式性能优化方向避免在循环内部抛出异常高频调用路径禁用异常控制流使用预检查替代异常捕获:// 优化前try {// 处理越界// 优化后} else {

weixin_44343004的博客 1068

C#:异常处理

C#异常处理总结及简单实例 一、异常处理的理解? 异常处理是指程序在运行过程中,发生错误会导致程序退出,这种错误,就叫做异常。 错误的出现并不总是程序员的原因,比如:连接数据库停电了,操作文件文件没了,权限不足,除数是0,使用对象是对象为null等。不处理错误程序没法继续执行。 .NET为我们把发现错误(try)的代码与处理错误(catch)的代码分离开来。 二、异常处理如何操作? C...

icnhh的专栏 2674

Windows异常处理

异常机制,就是为了让计算机能够更好的处理程序运行期间产生的错误,从编程的角度来看,能够将错误的处理与程序的逻辑分隔开。使得我们可以集中精力开发关键功能,而把程序可能出现的异常统一管理。 Windows提供了异常处理的机制,使得你有机会挽救自己即将崩溃的程序,大体上来说它提供了以下处理异常的机制: SEH-结构化异常处理 VEH-向量化异常处理 VCH-向量化异常处...

liaozhilong88的博客 944

异常处理机制

一、异常处理的任务异常处理的任务程序编制者不仅要考虑程序没有错误的理想情况,更要考虑程序存在错误时的情况,应该能够尽快地发现错误,消除错误。程序中常见的错误有两大类: 语法错误和运行错误。在编译时,编译系统能发现程序中的语法错误。有的程序虽然能通过编译,也能投入运行。但是在运行过程中会出现异常,得不到正确的运行结果,甚至导致程序不正常终止,或出现死机现象。这类错误比较隐蔽,不易被发现,

Panda的专栏 3841

SpringMVC异常处理

背景 我们的代码中,总是会抛出各种异常,例如HttpRequestMethodNotSupportedException、HttpMediaTypeNotSupportedException,或者是自己定义的BusinessException。这些异常,如果我们不将它们try catch进行处理,就会导致http的状态码变成非20x,并返回SpringMvc默认的异常信息格式。 场景1,业务部门对返回值进行了统一的规定,例如:{"code":200, "message": "success", ".

zidongxiangxi的博客 2872

SEH异常处理

 SEH异常处理学习总结 - ToBeroOTer的专栏 - 优快云Blog 收藏 导读: 前一段时间,在看异常处理一章内容的时候,发现这一部分还真的挺有尿水:)所以上网搜了一下有关内容,呦嗬,还挺丰富的。当然有些自己还是看不懂,现在就将这些宝贝拿出来跟大家共享一下。首先我们看一下使用异常处理的几种情况:A. 用来处理非致命的错误B. 对API函数的参数合法性的检验(假设参数都是合法的,只有

liwei8703的专栏 2913
上一篇: 继承
下一篇: 常用类
Xzzzzzzzcx
博客等级 码龄11年 6粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值