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语 ...
随机推荐
- C/C++ 数据结构与算法笔记
实现顺序表 #include <stdio.h> #include <stdlib.h> #define MaxSize 10 int Insert_Elem(int Arra ...
- Java21 + SpringBoot3整合springdoc-openapi,自动生成在线接口文档,支持SpringSecurity和JWT认证方式
目录 前言 相关技术简介 OpenAPI Swagger Springfox springdoc swagger2与swagger3常用注解对比 实现步骤 引入maven依赖 修改配置文件 设置api ...
- ntp.conf详解
linux系统的ntp.conf文件默认保存在/etc/ntp.conf 版本: [root@dsview ntpstats]# cat /etc/redhat-release CentOS rele ...
- Xcode的Search Paths配置
在Xcode中的文件搜索路径配置有两个地方,一个是Project层的配置,一个是Target的配置. Project-Build Settings-Search Paths Target-Build ...
- NC22596 Rinne Loves Data Structure
题目链接 题目 题目描述 Rinne 喜欢 OI.在 9102 年的 PION 中,她在初赛遇到了这样一道题目: 阅读下列代码,然后回答问题. 补充:建树过程中会更新lc和rc,这实质上是一个二叉查找 ...
- html知识概念(不含标签)
CS架构与BS架构 C/S架构 Client(客户端) / Server(服务器) 需要安装客户端使用,哔哩哔哩客户端.腾讯视频客户端等 需求安装.需要更新.不跨平台 B/S架构 Browser(浏览 ...
- 《系列二》-- 8、单例bean的创建
目录 1 源码入口概述 2 getSingleton(beanName, ObjectFactory) 的行为 总结 阅读之前要注意的东西:本文就是主打流水账式的源码阅读,主导的是一个参考,主要内容需 ...
- 文心一言 VS 讯飞星火 VS chatgpt (199)-- 算法导论15.2 1题
一.用go语言,对矩阵规模序列(5,10,3,12,5,50,6),求矩阵链最优括号化方案. 文心一言,代码正常运行: 在Go语言中,为了找到矩阵链乘法的最优括号化方案,我们通常会使用动态规划(Dyn ...
- win32-EnumChildWindows的使用
#include <Windows.h> #include <iostream> #include <string> static BOOL CALLBACK en ...
- 服务端高性能网络IO编程模型简析
服务端高性能网络IO编程模型简析 一.客户端与服务器端 多数网络应用可以分为客户端(client)和服务器端(server)模型,然后中间通过各种定义的协议来进行两端的通信. 比如常用的 Nginx ...