文档章节

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
[从C到C++] 1.10 C++ 异常处理(try和catch)

在程序设计过程中,我们总是希望自己设计的程序是天衣无缝的,但这几乎又是不可能的。即使程序编译通过,同时也实现了所需要的功能,也并不代表程序就已经完美无缺了,因为运行程序时还可能会...

wu_being
06/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ std::function 和 std::bind

C++11提供了std::function和std::bind两个工具,用于引用可调用对象。这些可调用对象包括 普通函数,Lambda表达式,类的静态成员函数,非静态成员函数以及仿函数等。引用可调用对象,可以用于...

yepanl
23分钟前
0
0
python:可迭代对象的索引

关于 python的range的用法: 注意是[ 开始,结束)的半开区间,不包括结束 http://www.runoob.com/python/python-func-range.html import collectionsfrom collections import Iterable字符串......

Oh_really
37分钟前
1
0
docker-compose ,docker-stack

1.例子 version: "3"services: php: image: registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5 ports: - "38080:80" networks: - my_php_mysql volum......

chenbaojun
46分钟前
3
0
SQL_Server2000示例数据库NorthWind的分析(转)

SQL_Server2000示例数据库NorthWind的分析 表名:Categories(食品类别表) 表结构: 字段名称 数据类型 长度 允许为空 CategoryID(主键) int 4 否 CategoryName nvarchar 15 否 Description ...

QQZZFT
48分钟前
1
0
laravel 5.5 Session store not set on request.

laravel 5.5 数据存入session,会出现Session store not set on request.错误。查了下laravel 5.5将session放到global middleware中,需要laravel的文件 ./app/Http/Kernel.php中的加上一句:...

MichaelShu
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部