文档章节

2017.09.01异常的捕获及处理

h3
 h3
发布于 2017/09/01 15:38
字数 284
阅读 1
收藏 0
点赞 0
评论 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

java第十一章学习总结

1.Throwable是所有Error和Exception的父类。 2.Error错误:程序员无法通过程序对Error进行处理 3.Exception异常:程序员可以通过代码对异常进行处理,或预防异常。 4.异常分类: 捕获性异常(...

0晓风残月0 ⋅ 2011/10/29 ⋅ 1

Spring --事务回滚

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

求是科技 ⋅ 2016/04/14 ⋅ 0

Java基础学习总结(22)——异常处理

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

zhanghaiyang ⋅ 2015/12/30 ⋅ 0

java中的异常的捕获与抛出原则

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

lzw_me ⋅ 2014/04/30 ⋅ 0

线程中不可控异常的处理

在Java中有两种异常。 非运行时异常(Checked Exception):这种异常必须在方法声明的throws语句指定,或者在方法体内捕获。例如:IOException和ClassNotFoundException。 运行时异常(Unche...

柳哥 ⋅ 2015/04/26 ⋅ 0

[从C到C++] 1.10 C++ 异常处理(try和catch)

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

wu_being ⋅ 06/16 ⋅ 0

安卓实现分业务模块异常捕获,全局异常不崩溃,应用继续运行!

需求:按当前项目工程的组织结构,业务模块被分为多个独立的Module,要求当业务模块内发生未捕获到的局部异常时,不重启整个应用,只是单独重启某个异常的业务模块 目前安卓中常用的异常捕获...

猴亮屏 ⋅ 05/18 ⋅ 0

spring事务的回滚rollback方法

回滚的条件 默认:spring的事务只有在发生了runtimeException的时候才会回滚 2. spring异常捕获的原理: 只有显示的抛出来异常,并且不能经过任何的处理,这样aop代理才能够捕获方法的异常,...

IMerit ⋅ 2016/12/06 ⋅ 0

用c实现跨平台异常捕获机制

TBOX封装了一套跨平台的异常捕获实现,来模拟windows的seh异常处理功能,而且是线程安全的。 在linux/mac下的实现 使用signal 捕获异常信号 使用sigsetjmp保存现场寄存器和信号掩码,出现异常...

ruki ⋅ 2014/08/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 昨天 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 昨天 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 昨天 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 昨天 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

SpringBoot简单使用ehcache

1,SpringBoot版本 2.0.3.RELEASE ①,pom.xml <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELE......

暗中观察 ⋅ 昨天 ⋅ 0

监控各项服务

比如有三个服务, 为了减少故障时间,增加监控任务,使用linux的 crontab 实现. 步骤: 1,每个服务写一个ping接口 监控如下内容: 1,HouseServer 是否正常运行,所以需要增加一个ping的接口 ; http...

黄威 ⋅ 昨天 ⋅ 0

Spring源码解析(八)——实例创建(下)

前言 来到实例创建的最后一节,前面已经将一个实例通过不同方式(工厂方法、构造器注入、默认构造器)给创建出来了,下面我们要对创建出来的实例进行一些“加工”处理。 源码解读 回顾下之前...

MarvelCode ⋅ 昨天 ⋅ 0

nodejs __proto__跟prototype

前言 nodejs中完全没有class的这个概念,这点跟PHP,JAVA等面向对象的语言很不一样,没有class跟object的区分,那么nodejs是怎么样实现继承的呢? 对象 对象是由属性跟方法组成的一个东西,就...

Ai5tbb ⋅ 昨天 ⋅ 0

Ubuntu16.04 PHP7.0 不能用MYSQLi方式连接MySQL5.7数据库

Q: Ubuntu16.04 PHP7.0 不能用MYSQLi方式连接MySQL5.7数据库 A: 执行以下2条命令解决: apt-get install php-mysql service apache2 restart php -m 执行后会多以下4个模块: mysqli mysqlnd...

SamXIAO ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部