为什么要处理异常,TryCatch应该在什么样的场景下使⽤?
⼤家好,我是IT修真院,⼀枚正直纯洁善良的如刚⼊门的Java程序员,今天跟⼤家分享⼀下修真院官⽹JAVA任务⼀,深度思考中的知识点——异常处理的原因,try/catch的应⽤场景。
1. 知识背景
异常exception
异常是程序中的⼀些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。
异常发⽣的原因有很多,通常包含以下⼏⼤类:
1.⽤户输⼊了⾮法数据。
2.要打开的⽂件不存在。
try catch的使用方法3.⽹络通信时连接中断,或者JVM内存溢出。
Try/catch语法
使⽤ try 和 catch 关键字可以捕获异常。
try/catch 代码块放在异常可能发⽣的地⽅。try/catch代码块中的代码称为保护代码。
⼀个 try 代码块可以后⾯跟随多个 catch 代码块,叫多重捕获。
如果⼀个⽅法没有捕获⼀个检查性异常,那么该⽅法必须使⽤ throws 关键字来声明。throws 关键字放在⽅法签名的尾部。也可以使⽤ throw 关键字抛出⼀个异常,⽆论它是新实例化的还是刚捕获到的。
2. 知识剖析
java如何处理异常?
java提供了抛出异常捕获异常的逻辑⽤于处理异常,当程序抛出异常时,如果不存在捕获异常逻辑,正在执⾏的⽅法将停⽌执⾏,并将该异常向外抛出,调⽤该⽅法的程序进⾏同样的处理,如果也没有进⾏捕获,则将⼀层⼀层的向外抛出,直到到达当前线程处时将会终⽌线程的执⾏。
3. 常见问题
在什么场景下加Try-Catch机制
Try-Catch机制注意点
4. 解决⽅案
1)以业务逻辑功能为单位,在最上层加Try-Catch机制。为什么要这样做呢?这主要是增加程序的健壮性,防⽌因抛出异常过多,导致程序崩溃。
2)底层代码,在可能出错的地⽅加Try-Catch机制,⽤Catch侦测具体的异常,然后就具体的异常,采取相应的解决⽅案。
3)底层代码,在需异常追踪时加Try-Catch机制,在Catch块中抛出⾃定义异常,调试时可迅速定位到错误代码段。
Try-Catch机制会将异常屏蔽掉,必须根据具体的应⽤场景,具体分析。
5. 编码实战
先构造⼀个⽅法⽤来表⽰catch执⾏
image.png
image.png
image.png
6. 扩展思考
catch 体⾥遇到 return 是怎么处理?
finally 体遇到 return 怎么办?
finally 体⾥有 it() ⽅法怎么处理?
当 catch 和 finally 体⾥同时遇上 return 怎么办?
(假设⽅法需要返回值)java 的异常处理中,
在不抛出异常的情况下,程序执⾏完 try ⾥⾯的代码块之后,该⽅法并不会⽴即结束,⽽是继续试图去寻该⽅法有没有 finally 的代码块,
如果没有 finally 代码块,整个⽅法在执⾏完 try 代码块后返回相应的值来结束整个⽅法;
如果有 finally 代码块,此时程序执⾏到 try 代码块⾥的 return 语句之时并不会⽴即执⾏ return,⽽是先去执⾏ finally 代码块⾥的代码,
若 finally 代码块⾥没有 return 或没有能够终⽌程序的代码,程序将在执⾏完 finally 代码块代码之后再返回 try 代码块执⾏ return 语句来结束整个⽅法;
若 finally 代码块⾥有 return 或含有能够终⽌程序的代码,⽅法将在执⾏完 finally 之后被结束,不再跳回 try 代码块执⾏ return。
PPT
视频
今天的分享就到这⾥啦,欢迎⼤家点赞、转发、留⾔、拍砖~
技能树.IT修真院
“我们相信⼈⼈都可以成为⼀个⼯程师,现在开始,个师兄,带你⼊门,掌控⾃⼰学习的节奏,学习的路上不再迷茫”。
这⾥是技能树.IT修真院,成千上万的师兄在这⾥到了⾃⼰的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我⼀起学习吧~作者:闵仕宇
不⾜之处,欢迎指正~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论