Java 异常 总结 try catch finally Exception

简介: 技巧

异常

定义


表示程序在运行过程中出现的非正常情况,编写代码的过程中尽可能少的减少异常出现的情况


分类


Throwable

Error 代码级别无法解决的异常情况

Exception

运行时异常:在程序运行过程中,由于输入的参数值的不同,可能会发生也可能不会发生

checked异常 :编译时异常,在ide中会显示的检查出来

异常的处理


捕获异常1、



10.png



捕获异常2、11.png

注意


当发生异常时,在try代码块中异常语句后面的语句不会再执行


try、catch、finally以及try…catch…finally之外的代码是互相独立的,在try中定义的变量在其他的部分无法访问,改变了仅作用于try部分,其他catch、finally情况类似,但是外部定义的变量在try、catch、finally中可以使用


在进行异常捕获的时候,return语句的不同位置会造成结果的不同


首先讨论try…catch…finally后面有代码的情况12.png

13.png


2.try…catch…finally后面没有代码的情况

14.png16.png


综上:

return语句会被挂起,等执行完finally中的语句后再执行

当存在两个return语句时且都能被执行时,优先执行finally中的return

抛出异常


throws


将异常情况抛出给调用者


注意,如果整个程序的运行过程中都没有异常的处理的话,最终异常会抛给jvm,不太友好,一般都要对异常进行处理


17.png

自定义异常

java中提供了非常多的异常类,但是在某些项目中需要自己定义独特的异常处理方式,此时需要自定义异常

继承Exception

编写构造方法,可以传入自己想打印的异常信息

调用的时候通过throw向外抛出异常

18.png

另外,还可以自定义异常信息

19.png

相关文章
|
1天前
|
Java 程序员 数据库连接
处理Java异常
处理Java异常
11 4
|
6天前
|
Java Linux Windows
java打包异常【已解决】
java打包异常【已解决】
12 5
|
6天前
|
XML Java 数据格式
java异常-SpringBoot-
java异常-SpringBoot-
7 0
|
6天前
|
Java Android开发
Java 程序设计 第6章 异常与断言 笔记
Java 程序设计 第6章 异常与断言 笔记
|
7天前
|
数据采集 Java Linux
Java异常之【sun.security.validator.ValidatorException: PKIX path building failed: sun.security...】
Java异常之【sun.security.validator.ValidatorException: PKIX path building failed: sun.security...】
20 0
Java异常之【sun.security.validator.ValidatorException: PKIX path building failed: sun.security...】
|
9天前
|
存储 分布式计算 大数据
MaxCompute操作报错合集之通过UDF调用异常(其他使用http调用正常)。报错:java.lang.NoSuchMethodError:是什么导致的
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
13天前
|
关系型数据库 分布式数据库 数据库
PolarDB操作报错合集之遇到报错:Exception in thread "main" java.lang.NoClassDefFoundError: jpcap/JpcapCaptor,该怎么解决
PolarDB是阿里云推出的一种云原生数据库服务,专为云设计,提供兼容MySQL、PostgreSQL的高性能、低成本、弹性可扩展的数据库解决方案,可以有效地管理和优化PolarDB实例,确保数据库服务的稳定、高效运行。以下是使用PolarDB产品的一些建议和最佳实践合集。
|
15天前
|
Java 程序员 编译器
蓝易云 - Java:Exception和Error有什么区别?
总的来说,Exception和Error的主要区别在于他们的用途和处理方式。Exception是可以被程序员处理的问题,而Error则是程序无法处理的严重问题。在编写代码时,程序员应该尽力处理可能出现的异常,但是对于错误,除非你知道如何处理,否则最好让程序终止,因为继续运行可能会导致更严重的问题。
10 0
|
Java
Java趣味分享:try/finally
​ 考虑以下四个测试方法,它们会输出什么? public class Test { public static void main(String[] args) { System.
808 0
|
23小时前
|
Java 开发者
线程的诞生之路:Java多线程创建方法的抉择与智慧
【6月更文挑战第19天】Java多线程编程中,开发者可选择继承Thread类或实现Runnable接口。继承Thread直接但受限于单继承,适合简单场景;实现Runnable更灵活,支持代码复用,适用于如银行转账这类需多线程处理的复杂任务。在资源管理和任务执行控制上,Runnable接口通常更优。