文档章节

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
java中的异常的捕获与抛出原则

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

lzw_me
2014/04/30
0
0
Java学习系列文章:说说Java中的异常

在正常的程序设计中,程序异常处理是非常关键和重要的一部分。试想一个项目中没有一个好的异常处理,这个项目会怎么样? 什么是异常 异常其实是程序上的错误,包括程序逻辑错误和系统错误。比...

java高级架构牛人
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

剖析Elasticsearch的IndexSorting:一种查询性能优化利器

摘要: 前言 前两周写过一篇《基于Lucene查询原理分析Elasticsearch的性能》,在最后留了一个彩蛋,说下一篇会介绍一种可以极大的优化查询性能的技术。本文就来介绍这种技术——IndexSortin...

阿里云官方博客
18分钟前
0
0
Go 使用channel控制并发

前言 channel一般用于协程之间的通信,channel也可以用于并发控制。比如主协程启动N个子协程,主协程等待所有子协程退出后再继续后续流程,这种场景下channel也可轻易实现。 场景示例 总结 ...

恋恋美食
43分钟前
2
0
斐波那契堆的理解,节点mark属性和势函数

斐波那契堆 看了好多博客,都是照搬算法导论的内容,没有自己的理解,比如为什么有mark属性,势函数的作用,以及为什么叫斐波那契堆,下面说说鄙人的理解。 势函数 势函数是根节点个数加上2...

杨喆
48分钟前
6
0
NIO源码详解

阻塞io和无阻塞io: 阻塞io是指jdk1.4之前版本面向流的io,服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒 ...

沉稳2018
53分钟前
1
0
如何把已经提交的commit, 从一个分支放到另一个分支

在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? git checkout test_2git cherry-pick 8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f......

stephen_wu
56分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部