你真的了解try catch finally吗?(面试题)

2020-07-29 10:24:00 浏览数 (1)

一、说明

try catch finally在面试中也是经常遇到的,我现在还是大三嘛,前几天通过学长内推了阿里的一个实习生职位。昨天预面试了,是一位很好一位哥哥,听起来声音也很好听,应该也很年轻的。聊的也很愉快。

突然聊到了“try catch finally”,那我就把过程通过大白话来写一下吧,并加上一些分析。

二、捕获异常与抛出异常的区别

try里的是可能抛出异常的语句; catch是用来捕获异常的;

一个方法如果完全有能力自己处理发生的错误就可以自己处理,如果处理不了这个错误,就可以用throw重新抛出

三、首先要明白为什么要抛异常?

1、为了防止遇到异常的时候程序崩溃,影响用户。 2、抛出的异常也方便了开发人员调试,让错误有迹可循。 3、还能定位错误出在什么地方,当出现了问题时,起码知道哪里出问题了。 4、异常处理让你能控制你的应用按照你的逻辑走(例如:给用户提示出错了等)。 当然了,也有很多理由。反之就是坏处了。

四、处理异常的技巧

Java异常处理的原则和技巧

1、避免过大的try块,不要把不会出现异常的代码放到try块里面,尽量保持一个try块对应一个或多个异常。 2、细化异常的类型,不要不管什么类型的异常都写成Excetpion。 3、catch块尽量保持一个块捕获一类异常,不要忽略捕获的异常,捕获到后要么处理,要么转译,要么重新抛出新类型的异常。 4、不要把自己能处理的异常抛给别人。 5、不要用try…catch参与控制程序流程,异常控制的根本目的是处理程序的非正常情况。

0 人点赞