java-异常-finally代码块

1 package p1.exception;
2
3
4 class Demo_0{
5 public int show(int index) throws ArrayIndexOutOfBoundsException{
6 if (index<0) {
7 throw new ArrayIndexOutOfBoundsException("越界了");
8 }
9 int[] arr = new int[3];
10 return arr[index];
11 }
12 }
13 public class ExceptionDemo5 {
14
15 public static void main(String[] args) {
16 // TODO Auto-generated method stub
17 Demo_0 d = new Demo_0();
18 try {
19 int num = d.show(1);
20 System.out.println("num="+num);
21 } catch (ArrayIndexOutOfBoundsException e) {
22 // TODO: handle exception
23 System.out.println(e.toString());//开发时不要写输出语句,没有控制台
24 // return;//这里停止执行
25 // System.exit(0);//退出jvm,后面都不执行了(包括finally)
26 }finally{//但finally是一定执行的, 通常用于关闭(释放)资源
27 System.out.println("finally");
28 }
29 System.out.println("over");
30 }
31
32 }
33
34 /*
35 * 连接数据库
36 * 查询。Exception
37 * 关闭连接。(无论出现没出现异常 都要用到)所以用finally
38 *
39 */
40
41 /*
42 * try catch finally 代码块组合特点:
43 *
44 * 1,
45 * try catch finally
46 *
47 * 2,try catch(多个)当没有必要资源需要释放时,可以不用定义finally。
48 *
49 * 3,
50 * try finally 异常无法直接catch处理,但是资源需要关闭
51 *
52 * void show()throws Exception//没catch就没处理所以方法也要声明
53 * {
54 * try{
55 * //开启资源
56 * throw new Exception();//出异常了可以留给别人处理,但是资源是自己开启的必须自己关,所以在finally里关
57 *
58 * }
59 * finally{
60 * //关闭资源。
61 * }
62 * }
63 *
64 */
ExceptionDemo5
java-异常-finally代码块的更多相关文章
- 【Java基础】2、Java中普通代码块,构造代码块,静态代码块区别及代码示例
Java中普通代码块,构造代码块,静态代码块区别及代码示例.Java中普通代码块,构造代码块,静态代码块区别及代码示例 执行顺序:静态代码块>静态方法(main方法)>构造代码块>构 ...
- Java 中静态代码块初始化问题测试
Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...
- Java之同步代码块处理继承Thread类的线程安全问题
package com.atguigu.java; /** *//** * 使用同步代码块解决继承Thread类的方式的线程安全问题 * * 例子:创建三个窗口卖票,总票数为100张.使用继承Thre ...
- java之trycatchfinally代码块与return,throw的执行顺序的探索
时光荏苒,转眼间毕业都半年了,java编程也五个月了.写代码的过程中,会经常遇到解决代码抛异常的情况.平时只注重完成功能,也没太注意try_catch_finally的内在执行顺序,只知道表面的现象: ...
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...
- Java中普通代码块,构造代码块,静态代码块执行顺序
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...
- (转)java中静态代码块的用法 static用法详解
一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来 ...
- java中静态代码块的用法 static用法详解(转)
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序 ...
- java中的代码块执行顺序
/* 代码块:在Java中,使用{}括起来的代码被称为代码块. 根据其位置和声明的不同,可以分为 局部代码块:局部位置,用于限定变量的生命周期. 构造代码块:在类中的成员位置,用{}括起来的代码.每次 ...
- 关于java中普通代码块、构造代码块与静态代码块
1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现”{普通代码的执行语句}“的就称为普通代码块. *普通 ...
随机推荐
- 【LeetCode】31. Next Permutation 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 逆序数字交换再翻转 库函数 日期 题目地址:http ...
- 【LeetCode】700. Search in a Binary Search Tree 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcod ...
- C. Hongcow Builds A Nation
C. Hongcow Builds A Nation time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- LeetCode 第三大的数414. Third Maximum Number
题目 描述:给定数组中求第三大的数字:如果没有,返回最大的:时间复杂度O(n) 记得<剑指offer>才看到过这样的求第k大的题目.但是忘记具体怎么做了.只好先自己想了. 因为时间复杂度的 ...
- 【Java例题】4.2 级数求和2
2. 计算级数之和: y=1/1!*x-1/3!*x^3+1/5!*x^5+...+ (-1)^n/(2n+1)!*x^(2n+1). 这里的"^"表示乘方,"!&quo ...
- AUGMIX : A SIMPLE DATA PROCESSING METHOD TO IMPROVE ROBUSTNESS AND UNCERTAINTY
目录 概 主要内容 实验的指标 Dan Hendrycks, Norman Mu,, et. al, AUGMIX : A SIMPLE DATA PROCESSING METHOD TO IMPRO ...
- [git]常用 Git 命令清单
新建 创建一个新的 git 版本库.这个版本库的配置.存储等信息会被保存到.git 文件夹中 # 初始化当前项目 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init ...
- CS5218DP转HDMI转接方案|CS5218说明|CS5218
Capstone CS5218是一款单端口HDMI/DVI电平移位器/中继器,具有重新定时功能.它支持交流和直流耦合信号高达3.0-Gbps的操作与可编程均衡和抖动清洗.它包括2路双模DP电缆适配器寄 ...
- Spring企业级程序设计 • 【第2章 Spring Bean管理进阶】
全部章节 >>>> 本章目录 2.1 bean标签和import标签 2.1.1 标签中的id属性和name属性 2.1.2 Bean的作用范围和生命周期 2.1.2 Be ...
- gitlab新增ssh
https://blog.csdn.net/u011925641/article/details/79897517