Java 异常处理(1) : try-catch- finally中finally的使用
1 package com.bytezero.throwable;
2
3 import java.io.File;
4 import java.io.FileInputStream;
5 import java.io.FileNotFoundException;
6 import java.io.IOException;
7
8 import org.junit.Test;
9
10 /**
11 *
12 * @Description try-catch- finally中finally的使用:
13 * @author Bytezero·zhenglei! Email:420498246@qq.com
14 * @version
15 * @date 上午9:25:36
16 * @ 1.finally是可选的
17 * 2.finally中声明的是一定会被执行的代码,即使catch中又出现异常了,try中
18 * 有return语句,catch中有return语句等情况。
19 * 3.像数据库连接,输入输出流,网络编程Socket等资源,JVM是不能自动回收的,
20 * 我们需要自己手动的进行资源的释放,此时的资源释放,就需要声明在finally中。
21 *
22 *
23 *
24 */
25 public class FinallyTest {
26
27 @Test
28 public void test2() {
29 FileInputStream fis = null;
30 try {
31 File file = new File("hello.txt");
32 fis = new FileInputStream(file);
33
34 int data = fis.read();
35 while(data != -1) {
36 System.out.print((char)data);
37 data = fis.read();
38
39 }
40
41 } catch (FileNotFoundException e) {
42 // TODO Auto-generated catch block
43 e.printStackTrace();
44 } catch (IOException e) {
45 // TODO Auto-generated catch block
46 e.printStackTrace();
47 }finally {
48
49 try {
50 if(fis != null)
51 fis.close();
52 } catch (IOException e) {
53 // TODO Auto-generated catch block
54 e.printStackTrace();
55 }
56 }
57 }
58
59
60 @Test
61 public void testMethod(){
62 int num = method();
63 System.out.println(num);
64
65
66 }
67 public int method() {
68
69 try {
70
71 int[] arr = new int[10];
72 //System.out.println(arr[10]);
73 return 1;
74 }catch(ArrayIndexOutOfBoundsException e) {
75 e.printStackTrace();
76 return 2;
77 }finally {
78 System.out.println("我一定会被执行");
79 //return 3;
80 }
81
82 }
83
84
85
86 @Test
87 public void test1() {
88
89 try {
90 int a = 10;
91 int b = 0;
92 System.out.println(a / b);
93
94
95 }catch(ArithmeticException e) {
96 //e.printStackTrace();
97
98 int[] arr = new int[10];
99 System.out.println(arr[10]);
100
101 }catch(Exception e) {
102 e.printStackTrace();
103 }
104 //System.out.println("我 好帅啊~~");
105
106 finally {
107
108 System.out.println("我 好帅啊~~");
109 }
110
111
112 }
113
114 }
Java 异常处理(1) : try-catch- finally中finally的使用的更多相关文章
- Java异常处理机制 —— 深入理解与开发应用
本文为原创博文,严禁转载,侵权必究! Java异常处理机制在日常开发中应用频繁,其最主要的不外乎几个关键字:try.catch.finally.throw.throws,以及各种各样的Exceptio ...
- Java 异常处理 try catch finally throws throw 的使用和解读(一)
//最近的一个内部表决系统开发过程中,//发现对异常处理还存在一些模棱两可的地方,//所以想着整理一下//主要涉及到://1.try catch finally throws throw 的使用和解读 ...
- java异常处理之throw, throws,try和catch
转自 http://blog.csdn.net/zhouyong80/article/details/1907799 程序运行过程中可能会出现异常情况,比如被0除.对负数计算平方根等,还有可能会出现 ...
- “崩溃了?不可能,我全 Catch 住了” | Java 异常处理
前言 今天我们来讨论一下,程序中的错误处理. 在任何一个稳定的程序中,都会有大量的代码在处理错误,有一些业务错误,我们可以通过主动检查判断来规避,可对于一些不能主动判断的错误,例如 RuntimeEx ...
- java异常处理try catch finally
1 异常 1.1 异常处理的作用 在编程时,如果出现文件打开失败,读写文件就会异常退出.如果出现内存溢出错误,程序也会异常退出.如果不能对这些异常进行处理.程序则无法正常运行.所 ...
- 项目中java异常处理
一.java异常类介绍. Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类. 有一篇比较好的blog ...
- java 异常处理try+catch
在整个异常处理机制中,异常在系统中进行传递,传递到程序员认为合适的位置,就捕获到该异常,然后进行逻辑处理,使得项目不会因为出现异常而崩溃.为了捕获异常并对异常进行处理,使用的捕获异常以及处理的语法格式 ...
- java异常处理:finally中不要return
java异常处理:finally中不要return 复制代码 public class Ex1 { public static void main(String[] args) { System.ou ...
- Java异常处理场景中不同位置的返回值详细解析
Java 异常处理中的返回值在不同位置不同场景下是有一些差别的,这里需要格外注意 具体分以下两种场景: 1 finally语句块没有return语句,即当代码执行到try或者catch语句块中的ret ...
- Java异常处理中finally中的return会覆盖catch语句中的return语句
Java异常处理中finally中的return会覆盖catch语句中的return语句和throw语句,所以Java不建议在finally中使用return语句 此外 finally中的throw语 ...
随机推荐
- Vue基础系列文章10---单文件组件
1.单文件组件的结构 <template> <!--这里用于定义VUE组件的模块内容--> <dvi> <h1>这是 APP 根组件</h1> ...
- 【一文搞定】Linux、Mac、Windows安装Docker与配置教程!
目录 一.Windows 安装 1.1 安装与启用 Hyper-V 1.2 安装 WSL 1.3 Docker Desktop 官方下载 1.4 安装Docker Desktop 二.MacOS 安装 ...
- Jupyter Notebook 下 import 第三方库,显示 no module xxx 【本质是环境没有切换过来】
1.最简单情况下 切换环境即可 首先激活环境: activate env # 激活你的环境名称 jupyter notebook 之后去运行代码即可,如果还不行请看下面: 2.遇到Jupyt ...
- LoopAndLoop【安卓逆向】
LoopAndLoop(阿里CTF) 首先是通用步骤 解压附件后发现是APK文件,打开jeb进行反编译,反编译结果如下: 可以看到程序自定了几个check函数,并且调用了自定义库"lhm&q ...
- CentOS7环境下MySQL的主从配置
CentOS7环境下MySQL的主从配置 一.什么叫主从复制 通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间.通俗点说就是select查询发送到从服务器,修改数据的语句 ...
- IntelliJ IDEA 查看一个接口的实现类。
- Zookeeper-ZKFC的原理和功能
一.前言 HADOOP2 HA架构引入了ZKFC.Journalnode组件,本篇文章主要介绍ZKFC的功能和原理.HA架构支持两种切换方式: 手动切换: 通过命令实现主备之间的切换,可以用HDFS ...
- LLM研究之-NVIDIA的CUDA
一.什么是NVIDIA的CUDA CUDA(Compute Unified Device Architecture)是由NVIDIA公司开发的一个并行计算平台和应用程序编程接口(API),它允许软件开 ...
- CF1822F Gardening Friends
题目链接 题解 知识点:树的直径,枚举. 考虑一个结论:树上任意点的最远点一定是树的直径的端点. 那么对于一个根节点,只要知道了树的直径,那么我们就可以立即得到最远距离,即乘 \(k\) 树的价值. ...
- NC20568 [SCOI2012]滑雪与时间胶囊
题目链接 题目 题目描述 a180285非常喜欢滑雪.他来到一座雪山,这里分布着M条供滑行的轨道和N个轨道之间的交点(同时也是景点),而且每个景点都有一编号i(1 ≤ i ≤ N)和一高度Hi.a18 ...