文档章节

2017.09.01异常的捕获及处理

h3
 h3
发布于 2017/09/01 15:38
字数 284
阅读 1
收藏 0
public class Task30{
	public static void main(String args[]){
		int i = 0;
		int j = 0;
		try{
			String st1 = args[0];
			String st2 = args[1];
			i = Integer.parseInt(st1);
			j = Integer.parseInt(st2);
			int temp = i/j;
			System.out.println("结果为: " + temp);
		}catch(Exception a){
			a.printStackTrace();
		}finally{
			System.out.println("计算结束。");
		}
	}
}

在 java 中,所有捕获范围小的异常必须放在捕获大的异常之前,否则程序在编译时值 出现错误提示、

throws  和 throw 关键字

在定义一个方法时可以使用 throws 关键字声明,使用 throws 声明的方法表示此文污染处理异常,而交给方法的调用处进行处理

throws 使用格式:public 返回值类型 方法名称(参数列表) throws 异常类{}

throw 可以直接使用 throw 抛出一个异常,抛出时直接抛出异常类的实例化对象即可。

public class Task31{
	public static void main(String args[]){
		float i = 0f;
		float j = 0f;
		try{
			String st1 = args[0];
			String st2 = args[1];
			i = Float.parseFloat(st1);
			j = Float.parseFloat(st2);
			float temp = i/j;
			System.out.println(i + " 除以 " + j + " = " +( i/j));
		}catch(NumberFormatException n){
			System.out.println("出现 NumberFormatException 异常");
		}catch(ArithmeticException a){
			System.out.println("出现 ArithmeticException 异常");
		}catch(Exception e){
			System.out.println("你这输入的是什么鬼!!!");
		}finally{
			System.out.println(" game over! ");
		}
	}
}

 

© 著作权归作者所有

共有 人打赏支持
h3

h3

粉丝 6
博文 47
码字总数 16408
作品 0
福州
程序员
私信 提问
最爱吃小鱼/CodeAuto.IntelliJ-Plugin

代码生成器 登录数据库,选择表进行代码生成,模板可自定义。 模板应该是特殊的,适合自己的代码处理逻辑的,不是为了共用而存在的, 所以你可以创建自己个性的模板,生成与众不同的代码或文...

最爱吃小鱼
2017/10/12
0
0
Spring --事务回滚

有这种业务需求: 一次业务分三个步骤完成 步骤1:insert table1成功后,执行update table2成功后,执行update table3 执行逻辑肯定如下 int success1 = insert table1;if(success1 == 1){ ...

求是科技
2016/04/14
132
0
Java基础学习总结(22)——异常处理

一、异常的概念   异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误。出现错误时观察错误的名字和行号最为重要。    1 package cn.javastudy.summary; 2 3 public...

zhanghaiyang
2015/12/30
5
0
Kotlin Coroutines(协程) 完全解析(四),协程的异常处理

本文基于 Kotlin v1.3.0-rc-146,Kotlin-Coroutines v1.0.0-RC1 在上一篇文章中提到子协程抛出未捕获的异常时默认会取消其父协程,而抛出却会当作正常的协程结束不会取消其父协程。本文来详细...

JohnnyShieh
01/11
0
0
java中的异常的捕获与抛出原则

在可能会出现exception的地方,要使用try-catch或者throws或者两者都要。我的判断依据是:如果对可能出现的exception不 想被外部(方法的调用者)知道,就在方法内部try-catch掉这个excep...

lzw_me
2014/04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IDE 插件新版本发布,开发效率 “biu” 起来了

近日,Cloud Toolkit正式推出了面向 IntelliJ 和 Eclipse 两个平台的新款插件,本文挑选了其中三个重大特性进行解读,点击文末官网跳转链接,可查看详细的版本说明。 本地应用一键部署到任何...

阿里云云栖社区
30分钟前
6
0
金丝雀发布、滚动发布、蓝绿发布到底有什么差别?关键点是什么?

根据 2017 年的 DevOps 发展报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差异。技术组织的软件交付能力是一种综合能力,涉及众多环节,其中发布是尤为重要的环节。 作为技术...

问题终结者
58分钟前
3
0
Kubernetes Client-go Informer 源码分析

几乎所有的Controller manager 和CRD Controller 都会使用Client-go 的Informer 函数,这样通过Watch 或者Get List 可以获取对应的Object,下面我们从源码分析角度来看一下Client go Informe...

阿里云官方博客
今天
4
0
传统IDC部署网站(三)

11. 重置密码 密钥和密码都支持远程登陆, 二选一 两个都可以登陆, 密钥相对于密码来说,相对安全一点 本地登陆无法是用密钥 修改密码 root 用户 passwd root 修改普通用户 passwd usernam...

miko0089
今天
6
0
bash特性

1.支持别名 alias 2.命令替换 $(COMMANS) 或者 `COMMAND` 3. bash支持的引号: `` :命令替换 "":弱引用,可以实现变量替换 '':强引用,不实现变量替换 4.文件名通配 globbing:(man 7 glo...

忙碌的小蜜蜂
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部