Java异常处理

改进后的yolov8导出进行部署到rk3588上时,导出为onnx格式报错aten::fft_fft2算子不支持导出...如何解决? 🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。 阅读详情

基础语法及概念:

       java中的异常处理主要围绕着 try-catch-finally  throw  throws展开, java异常共分为运行时异常(Runtime Exception ) 和 非运行时异常(Checked Exception), 或者称之为

    受检查异常。  Java中所有的异常, 都继承至 Throwable. 其中Error类也继承至Throwable类, 不过若是发生这个原因, 就不能称之为异常了, 发生了Error异常,一般是Java

    系统在运行时发生了错误, 比如说运行堆内存不足, 程序发生了死锁。 除了将错误信息发回给用户外, 就已经没救了.


   Runtime Exception:

                运行时异常可以由用户造成, 也可以由本身的编码导致, 比如说ArrayIndexout... 数组越界异常, 或者用户输入了空值导致发生了nullPointerException空指针异常, 或 者在运行时找不到类 ClassNotFoundException 等.  运行时异常往往是最难处理的, 因为你不知道他会在什么时候发生, 有可能是你自己的代码触发,也可能是用户的输入触发。 他在语法上不需要声明抛出异常。



Checked Exception:

           受检查异常需要 try catch  或者 抛出去(throws ).  他一般表示程序有可能会在编译时期发生不确定的行为, 比如读写IO 数据库连接 或者装载一个类, 他们都需要程序员

         显示的 try catch finally,  其中finally 是 不管有没有发生异常都必须要执行的一个操作, 其一般用在关闭数据库连接, 关闭文件连接 等.  



异常处理的规范:

           咋地一看好像异常处理为程序健壮性提供了很大的方便, 但是我们只有在不得以的情况下才声明或者抛出异常。   你必考虑到异常也是API的一部分,这意味着

           如果你在写一个对外调用的接口, 比如说下面这样 声明他可能抛出的异常.

            

interface  demo throws  Exception{

   public  void demo1();
}

 这就意味着你在很长一段时间都无法摆脱这个异常,以后你要重构或进一步开发这些 API 时,不得不考虑这些异常带来的向后兼容性问题。因为,如果你在日后的版本中删除了某个异常的声明,就会造成之前用户的代码无法通过编译。 所以我们应该仔细设计可能发生的异常,


异常处理规范2:

异常处理的难点主要是在对于什么时候处理异常的理解上。在不同的层级上,你要考虑这个异常是不是应该在这个层级上进行处理,还是说应该继续向上抛出,甚至某些情况下还需要包装捕获到的异常,再向上抛出。

不同抽象层级上的代码应该只声明抛出同一层级上的异常。

就像处理界面(Controller)的代码不应该还会捕获处理数据库操作的异常一样(Service and dao)。 为了避免这个问题,更高层次的实现需要捕获低层次的异常,包装之后再抛出属于更高层次的异常,这种做法被称为异常转换:    

try {
    ...
} catch(LowerLevelException e) {
    throw new HigherLevelException(...);
}


try catch块应该尽量缩小, 简洁明了的声明哪行代码可能发生异常,并且尝试着把 try catch 作为一个流程, 千万不要catch 之后什么都不做, 比如说就记录一个

日志 或者打印Message 

String parm; 
try {
    param = jsonObj.getString("parm");
} catch (JSONException e) {
    e.printStackTrace();
    param = "default value";    //提供一个默认值
}















    

   

Autosar PNC网络管理配置-UserData的使用 之前配置的网络管理报文中的data都由ComM管理,后面客户新增了需求,最后两个byte需要发送,本文记录一下相关配置的修改能配置生成的,尽量不手码,毕竟手写一堆bug~ 阅读详情

相关推荐

STM32 SAI接口实战:用CubeMX快速配置多通道音频采集(附DMA优化技巧)

本文详细介绍了如何使用STM32的SAI接口通过CubeMX快速配置多通道音频采集系统,并提供了DMA双缓冲优化技巧。内容涵盖TDM模式配置、时钟同步、DMA优化及常见问题排查,帮助开发者高效实现高速数据采集应用。

weixin_42549037的博客 225

java中的异常处理

异常的作用增强程序的健壮性。java中异常以什么形式存在?异常在java中以类的形式存在,每一个异常类都可以创建异常对象。JVM执行到某一处觉得有异常,会new异常对象,并且将new的异常对象抛出,打印输出信息到控制台了。如异常对应的现实生活火灾(异常类)2008年8月8日,小明家着火了(异常对象)2008年8月9日,小红家着火了(异常对象)异常体系结构注意所有异常都是在运行阶段发生的,因为只有程序运行阶段才可以new对象,因为异常的发生就是new异常对象。第一种方式。......

weixin_45581692的博客 1万+

STM32——IIC(I2C)中断与DMA通信实战解析

本文深入解析STM32的IIC(I2C)通信中断与DMA实战应用。通过对比轮询方式的低效,详细介绍中断模式和DMA模式的实现原理、状态机编程技巧及性能优化策略,并结合SHT30传感器案例展示如何高效读取数据,显著提升系统响应速度和CPU利用率。

week9的博客 808

java异常处理

什么是异常 异常处理 如何捕捉异常? finally语句 常见异常 自定义异常 那么具体如何自定义异常类呢? throw关键字 throws关键字 运行时异常 异常处理流程

随便写点C++和JAVA的知识 6305

深入STM32 USB OTG FS:从官方MSC例程到实战双存储设备移植全记录

本文详细解析了STM32 USB OTG FS在双存储设备开发中的实战应用,从协议栈底层机制到SD卡/SPI Flash同步挂载的实现。通过优化SDIO接口和SPI Flash驱动,结合USB MSC类的关键实现,提供了完整的解决方案和性能优化策略,适合嵌入式开发者参考。

weixin_28366475的博客 372

linux中的sendmail发送邮件

linux下的sendmail发送邮件

无痕的博客 6432

一次搞懂Java异常处理(超详细!!!)!

Java标准库中提供了非常多表的异常类型,用来表达各种异常情况,然而在真实开发中,这些异常并不能完全满足我们的需求,因为标准库的异常往往表达的是技术层面,而不是业务层面,像账号密码错误这种情况,用标准库的异常就不太合适,所以在开发中我们会自定义异常类型,来表达符合我们业务的异常情况。finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法放入finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。

weixin_53622554的博客 1万+

哈希拓展攻击CTF题做法

kali下载相关工具hash-ext-attack:hash拓展题目特征:2023楚慧杯upload_shell实验吧之让我进去:前言:具体怎么加密解密补位的原理我不懂,深入理解的部分我在文末挂了链接,以下也只是我做题的结论和通解,可能不准确(但是做题还挺准确),有错误欢迎指出:是在密码加密过程中引入的一个随机值,它与密码结合使用,目的是增加密码的复杂性和安全性。在密码加密中,常见的做法是将用户提供的密码进行哈希处理,然后存储哈希值而不是明文密码

2301_76690905的博客 2422

JAVA中的异常处理

异常和异常处理

weixin_73986007的博客 1707

51单片机嵌入式开发:14、STC89C52RC 之HX1838红外解码NEC+数码管+串口打印+LED显示

对于C51单片机的设计思路,你可以使用类似的步骤来实现红外解码、数码管显示和LED显示的功能。下面是一个简单的设计思路:(1) 连接HX1838红外解码器、数码管和LED到C51单片机。将HX1838的信号引脚连接到C51单片机的外部中断引脚(例如INT0),数码管的CLK引脚连接到C51单片机的某个IO口引脚,数码管的DIO引脚连接到C51单片机的另一个IO口引脚,LED连接到C51单片机的某个IO口引脚。(2) 在C51的程序中,定义并初始化所需的IO口和外部中断。

sinat_30943509的博客 2977

优化点列图(RMS半径)的操作数

优化点列图(RMS半径)的操作数

weixin_72050316的博客 2261

20个Java异常处理的方式

public void foo() throws Exception { //错误方式一定要避免出现上面的代码,它破坏了检查性(checked)异常的目的。声明的方法应该尽可能抛出具体的检查性异常。例如,如果一个方法可能会抛出 SQLException 异常,应该显式地声明抛出 SQLException 而不是 Exception 类型的异常。这样可以让其他开发者更好地理解代码的意图和异常处理的方式,并且可以根据 SQLException 的定义和文档来确定异常的处理方式和策略。//错误方式。

huang714的专栏 5141

计算机控制技术及应用

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

Java异常处理终结篇——如何进行Java异常处理设计

使用Java异常的人很多,但能合理使用的却不多,Java异常处理设计是一个冷门的话题,但好的异常设计会让程序有质的变化,所以本文从各个方面分析便总结了,在Java程序中,如何进行异常设计。

登高而望远 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java异常处理底层_Java异常处理机制

什么是异常?异常本质上是程序上的错误,错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误。编译期间的错误通常是基础的语法错误,比如括号没有正常配对、语句结束后少写了分号,关键字编写错误等,编译器会对这些错误给出提示,帮助我们进行修订。运行期间的错误只有程序运行时才能看到错误的提示,比如数组访问时下标越界、使用空对象调用方法、算术运算时除数为0、类型转换时无法正常转型等,运行期间的错...

weixin_29471541的博客 779

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【Java】—— Java异常处理 总结

1. 什么是异常?指的是程序在执行过程中,出现的非正常情况,如果不处理最终会导致JVM的非正常停止。​2. 异常的抛出机制Java中把不同的异常用不同的类表示,一旦发生某种异常,就`创建该异常类型的对象`,并且抛出(throw)。然后程序员可以捕获(catch)到这个异常对象,并处理;如果没有捕获(catch)这个异常对象,那么这个异常对象将会导致程序终止。​3. 如何对待异常对于程序出现的异常,一般有两种解决方法:一是遇到错误就终止程序的运行。另一种方法是程序员在编写程序时,

weixin_63106307的博客 1166

【 java 异常处理】一文速通 java 异常处理

在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。因此异常处理就显得十分重要!

阿牛的博客 959

Java 异常处理

异常处理是Java中唯一正式的错误报告机制。异常处理机制最大的好处就是降低错误代码处理的复杂程度。 通过该 Chat,您可以了解: Java 异常体系 自定义异常 常见异常处理策略 异常框架实战 Spring MVC 统一异常处理 Spring Cloud 异常穿透 ...

GitChat 659

java分层异常处理_Java异常处理总结

1 异常处理的重要性对于一个应用系统,设计一套良好的异常处理体系是很重要的,因为它对于程序的后期维护有十分重要的意义。应用系统的异常处理体系或者说框架,应该在系统设计初期的时候就考虑清楚,这样可以避免开发阶段由于异常处理体系的混乱而引起的不必要的重构工作。2 Java异常体系从类图中可以看出java异常的类继承关系,Throwable是所有异常和错误的父类。它的两个子类Error和Exceptio...

weixin_42514783的博客 496

Java异常处理机制

作者:小符 撰写时间:2018.4.24 学会了异常处理可以帮助你去掉一些在代码中不必要的麻烦,可以在发生错误时,抛出错误,让你的程序减少奔溃的几率。当发生错误时,可以在短时间内找到错误所在行,会节省很多时间,让程序更加健壮。 Java异常处理机制为:抛出异常,捕捉异常,处理异常。 语法格式: try…catch 在使用try…catch捕获处理异常时需要注意: **·**不要过度使用异常,不能使...

白夜光的博客 3894

Java的异常处理机制

一、什么是java异常? java异常指在程序运行时可能出现的一些错误,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,中断了正在执行的程序的正常指令流。Java通过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的错误条件。当条件生成时,错误将引发异常。 Java异常类...

BoSea 5万+

理解Java异常处理机制——Java异常处理的一个综合实例

理解Java异常处理机制——Java异常处理的一个综合实例                                   佟强 2009年12月8日声明抛出异常如果程序员不想在当前方法内处理异常,可以使用throws语句声明将异常抛出到调用方法中。调用方法也可以将异常再抛给其他调用方法。如果所有的方法都选择了抛出此异常,最后Java虚拟机将捕获它,输出相关的错误信息,

佟强 6202

java 异常处理总结

征文 | 从高考,到程序员    深度学习与TensorFlow入门一课搞定!    每周荐书 | Web扫描、HTML 5、Python(评论送书) java 异常处理总结 标签: 异常处理java 2016-09-22 10:30 80人阅读 评论(0) 收藏 举报 本文章已收录于: 版权声明:本文为博主原创文章,未经博

qq_36638469的博客 540

java异常处理的实例_Java异常处理十个案例

异常处理是Java 开发中的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中。Java 编程语言也允许你创建新的异常,并通过使用 throw 和 throws关键字抛出它们。事实上,在Java编程中,Java的异常处理不单单是知道...

weixin_32199769的博客 1607

java中异常处理

Java异常处理摘要 Java异常处理机制用于处理程序执行过程中的非正常情况。异常分为Error和Exception两大类:Error是JVM无法处理的严重问题,Exception则是可以通过代码处理的普通异常。异常处理方式包括try-catch-finally捕获处理和throws声明抛出两种。 关键点: try-catch-finally适合处理方法内部异常,尤其涉及资源操作时 throws适用于方法间递进调用的异常传递 可手动抛出异常(throw)或自定义异常类 方法重写时子类异常类型不能超过父类范围

2301_80637326的博客 902
上一篇: python 通熟易懂的闭包
下一篇: Java深入理解 - 迭代器 Iterator 总结
zh_coder
博客等级 码龄12年 31粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值