java之finally的用法
package com.smbea.demo.tryCatchFinally; /**
* java之finally的用法
* @author hapday
* @2017年2月5日 @上午12:21:16
*/
public class TryCatchFinallyDemo { public static void main(String[] args) {
hasException();
System.out.println("\n——————————————————————————————————————————————————————————————————\n");
noneException();
System.out.println("\n——————————————————————————————————————————————————————————————————\n");
System.out.println(hasReturnAndNoneException());
System.out.println("\n——————————————————————————————————————————————————————————————————\n");
System.out.println(hasReturnAndHasException());
} /**
* 有异常发生
*/
public static void hasException() {
int divisor = 10;
int dividend = 0; try {
System.out.println(divisor + " / " + dividend + " = " + (divisor / dividend));
} catch (Exception e) {
System.out.println("这里的代码只有出现异常后执行...");
e.printStackTrace();
} finally {
System.out.println("这里的代码始终执行,不论有没有发生异常或在 try 块中出现 return 语句,都不受影响...");
}
} /**
* 无异常发生
*/
public static void noneException() {
int divisor = 10;
int dividend = 10; try {
System.out.println(divisor + " / " + dividend + " = " + (divisor / dividend));
} catch (Exception e) {
System.out.println("这里的代码只有出现异常后执行...");
e.printStackTrace();
} finally {
System.out.println("这里的代码始终执行,不论有没有发生异常或在 try 块中出现 return 语句,都不受影响...");
}
} /**
* try 块中有 return 语句但是无异常
* @return
*/
@SuppressWarnings("finally")
public static int hasReturnAndNoneException() {
int divisor = 10;
int dividend = 10; try {
System.out.println(divisor + " / " + dividend + " = " + (divisor / dividend)); divisor *= 2; System.out.println("divisor = " + divisor); return divisor;
} catch (Exception e) {
System.out.println("这里的代码只有出现异常后执行...");
e.printStackTrace();
} finally {
System.out.println("这里的代码始终执行,不论有没有发生异常或在 try 块中出现 return 语句,都不受影响..."); divisor *= 3; System.out.println("divisor = " + divisor); return divisor;
}
} /**
* try 块中有 return 语句但是有异常
* @return
*/
@SuppressWarnings("finally")
public static int hasReturnAndHasException() {
int divisor = 10;
int dividend = 0; try {
System.out.println(divisor + " / " + dividend + " = " + (divisor / dividend)); divisor *= 2; System.out.println("divisor = " + divisor); return divisor;
} catch (Exception e) {
System.out.println("这里的代码只有出现异常后执行...");
e.printStackTrace();
} finally {
System.out.println("这里的代码始终执行,不论有没有发生异常或在 try 块中出现 return 语句,都不受影响..."); divisor *= 3; System.out.println("divisor = " + divisor); return divisor;
}
}
}
java之finally的用法的更多相关文章
- java中this的用法?
2008-07-28 08:10cztx5479 | 分类:JAVA相关 | 浏览4533次 java中this的用法? import java.awt.*; import java.awt.even ...
- 转:十八、java中this的用法
http://blog.csdn.net/liujun13579/article/details/7732443 我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它, ...
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法
装饰者模式(Decorator Pattern) Java的IO类 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716 ...
- Java-Runoob-高级教程-实例-方法:09. Java 实例 – continue 关键字用法-un
ylbtech-Java-Runoob-高级教程-实例-方法:09. Java 实例 – continue 关键字用法 1.返回顶部 1. Java 实例 - continue 关键字用法 Java ...
- Java-Runoob-高级教程-实例-方法:08. Java 实例 – break 关键字用法
ylbtech-Java-Runoob-高级教程-实例-方法:08. Java 实例 – break 关键字用法 1.返回顶部 1. Java 实例 - break 关键字用法 Java 实例 Ja ...
- Java-Runoob-高级教程-实例-方法:07. Java 实例 – instanceOf 关键字用法
ylbtech-Java-Runoob-高级教程-实例-方法:07. Java 实例 – instanceOf 关键字用法 1.返回顶部 1. Java 实例 - instanceof 关键字用法 ...
- Java 中 synchronized的用法详解(四种用法)
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码.本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧 ...
- java成神之——java中string的用法
java中String的用法 String基本用法 String分割 String拼接 String截取 String换行符和format格式化 String反转字符串和去除空白字符 String获取 ...
- java.util.ResourceBundle国际化用法详解
java.util.ResourceBundle国际化用法详解 初识国际化和ResourceBundle 这个类主要用来解决国际化和本地化问题.国际化和本地化可不是两个概念,两者都是一起出现的.可以说 ...
随机推荐
- 图片压缩工具之grunt-contrib-imagemin
对页面进行优化时~免不了对使用的图片进行压缩~以便减小我们使用的图片的大小~这样就可以减少用户下载的文件大小,加快页面访问速度.Google Pagespeed最佳实践建议我们用 jpegtran 或 ...
- P1900 自我数
题意: 对于每一个正整数n,我们定义d(n)为n加上它每一位数字的和. 例如,d(75)=75+7+5=87.给定任意正整数n作为一个起点,都能构造出一个无限递增的序列:n, d(n), d(d(n) ...
- arcgis打印服务
<script> function print1() { require([ "esri/map", ...
- UICollectionView Layout自定义 Layout布局
from: http://www.tuicool.com/articles/vuyIriN 当我们使用系统自带的UICollectionViewFlowLayout无法实现我们的布局时,我们就可以 ...
- centos7上面关闭防火墙
CentOS 7.0默认使用的是firewall作为防火墙:若没有启用iptables 作为防火墙,则使用以下方式关闭防火墙: systemctl stop firewalld.service 关闭开 ...
- java8 optional操作
目标:测试option的过滤,链式操作: 代码: package test; import java.util.ArrayList; import java.util.Arrays; import j ...
- [題解](最小生成樹)luogu_P2916安慰奶牛
可以發現每個點經過次數恰好等於這個點的度數,所以把點權下放邊權,跑最小生成樹,原來邊權乘二在加上兩端點權,答案再加一遍起點最小點權 #include<bits/stdc++.h> #def ...
- java程序员的从0到1:@Resource与@Autowired的比较
目录: 1.@Resource与@Autowired的源码分析 2.@Resource与@Autowired的相同点 3.@Resource与@Autowired的不同点 正文: 1.@Resourc ...
- Linux 磁盘 分区 挂载点的理解
在Linux中一切皆文件: 虚拟文件系统(Virtual File System, 简称 VFS), 是 Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口:同时,它也提供了内核中的 ...
- POJ2886Who Gets the Most Candies?(线段树之约瑟夫)
约瑟夫问题的升级版,每次出去的是前一个出去的人位置+手上的数字(正往前,负往后).第i个出去的人拿的糖是i的约数的个数.求拿糖最多的人和他的糖果数. 这里用到了反素数的知识,在这直接打表 题目 AC代 ...