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) { /*普通代码块: *直接定义在在方法或语句中出现”{普通代码的执行语句}“的就称为普通代码块. *普通 ...
随机推荐
- JAVA判断是否是微信内置浏览器,是否是在微信内打开
/** * 通过请求头判断是否是微信内置浏览器,是否是在微信内打开 * @param request * @return */ @RequestMapping(value = "/hello ...
- 【LeetCode】NO.376 摆动序列 (Python) [贪心算法]
376. 摆动序列 题目 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 .第一个差(如果存在的话)可能是正数或负数.仅有一个元素或者含两个不等元素的序列也视作摆动序列. 例 ...
- 3998 - Prime k-tuple
{p1,..., pk : p1 < p2 <...< pk} is called a prime k -tuple of distance s if p1, p2,..., pk ...
- 1110 距离之和最小 V3
1110 距离之和最小 V3 基准时间限制:1 秒 空间限制:131072 KB X轴上有N个点,每个点除了包括一个位置数据X[i],还包括一个权值W[i].该点到其他点的带权距离 = 实际距离 * ...
- git导出历史日志
1.1.在项目根目录下执行命令,导出 git 提交记录到桌面 进入项目目录:然后右击选择git bash here 然后在git中执行命令:git log --pretty=format:&q ...
- Ranger-Yarn插件安装
Ranger-Yarn插件ranger-0.6.0-yarn-plugin安装到Yarn的所有ResourceManager节点, 其他的NodeManager节点不需要安装. 登陆hdfs安装的用户 ...
- Kafka和RabbitMQ有哪些区别,各自适合什么场景?
经常有人问我 有个 xx 需求,我应该用 Kafka 还是 RabbitMQ ? 这个问题很常见,而且很多人对二者的选择也把握不好. 所以我决定写篇文章来详细说一下:Kafka 和 RabbitMQ ...
- centos7 配置JDK
// 查看是否有jdk rpm -qa | grep java 卸载掉系统自带的jdk(箭头标识),命令:rpm -e --nodeps 后面跟系统自带的jdk名 比如:rpm -e --node ...
- nuxt写路由接口
//在server/interface/city.js import Router from 'koa-router'; const router = new Router({ prefix:'/ci ...
- 上传自己的pip模块
对于模块开发者本质上需要做3件事: 编写模块 将模块进行打包 上传到PyPI(需要先注册PyPI账号) 注册PyPI账号 安装上传工具 基于工具进行上传 对于模块的使用者来说,只需要做2件事: 通过p ...