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

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


一、说明

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参与控制程序流程,异常控制的根本目的是处理程序的非正常情况。

目录
相关文章
|
11月前
每日一道面试题之try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
每日一道面试题之try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
144 0
|
4月前
|
编译器
try{...}catch(){...}finally{...}语句你真的理解吗?
try{...}catch(){...}finally{...}语句你真的理解吗?
32 0
|
4月前
|
C++
C++异常处理try和throw以及catch的使用
C++异常处理try和throw以及catch的使用
try catch finally,try 里面有 return,finally 还执行吗?
try catch finally,try 里面有 return,finally 还执行吗?
50 0
Java 最常见的面试题:try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
Java 最常见的面试题:try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
|
Java
Java异常——处理机制Try-catch-finally
Java异常——处理机制Try-catch-finally
176 0
|
Java
【学习笔记】【Java】try-catch-finally中,finally是在什么时候执行的:try结束、catch结束、return前
结论:try-catch-finally中,finally执行:try结束、catch结束、return前
186 0
【学习笔记】【Java】try-catch-finally中,finally是在什么时候执行的:try结束、catch结束、return前
|
Web App开发 JavaScript 前端开发
啊,似乎没有真正理解 try...catch...finally!
啊,似乎没有真正理解 try...catch...finally!
476 0
啊,似乎没有真正理解 try...catch...finally!
|
Java 程序员 编译器
技术大佬:我去,你竟然还在用 try–catch-finally
技术大佬:我去,你竟然还在用 try–catch-finally
119 0
技术大佬:我去,你竟然还在用 try–catch-finally