Java关键字——throws和throw
throws关键字
在定义一个方法时,可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理。
使用了throws关键字,表示不管是否会有异常,在调用此方法处都必须进行异常处理
//=================================================
// File Name : throws_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:Math
// 属性:
// 方法:
class Math{
public int div(int i,int j) throws Exception{ //本方法中可以不处理异常
int temp = i/j; //此处有可能产生异常
return temp; //返回计算结果
}
} //主类
//Function : throws_demo
public class throws_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
Math m =new Math(); //实例化Math对象
try{ //因为由throws,不管是否由异常,都必须处理
System.out.println("除法操作="+m.div(1, 0));
} catch (Exception e){
e.printStackTrace(); //打印异常
} } }
与throws不同的是,可以直接使用throw抛出一个异常,抛出时直接抛出异常类的实例化对象即可
//=================================================
// File Name : throws_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:Math
// 属性:
// 方法:
class Math{
public int div(int i,int j) throws Exception{ //本方法中可以不处理异常
int temp = i/j; //此处有可能产生异常
return temp; //返回计算结果
}
} //主类
//Function : throws_demo
public class throws_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
Math m =new Math(); //实例化Math对象
try{ //因为由throws,不管是否由异常,都必须处理
System.out.println("除法操作="+m.div(1, 1));
throw new Exception("自己抛出的异常");
} catch (Exception e){
e.printStackTrace(); //打印异常
} } }
throw和throws的应用
//=================================================
// File Name : throw_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:math
// 属性:
// 方法:
class math{
public int div(int i,int j) throws Exception{ //本方法中可以不处理异常
System.out.println("******计算开始******");
int temp = 0; //声明整型变量
try{
temp =i/j; //如果产生异常,则执行catch
}catch(Exception e) { //捕获异常
throw e; //把异常交给被调用处
}finally{ //不管是否产生异常都执行此代码
System.out.println("******计算结束******");
}
return temp; //返回计算结果
}
} //主类
//Function : throw_demo
public class throw_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
Math m =new Math(); //实例化Math对象
try{
System.out.println("除法操作="+m.div(1, 1));
} catch (Exception e){ //进行异常的捕获
System.out.println("异常产生:"+ e ); //打印异常
} } }
Java关键字——throws和throw的更多相关文章
- Java中throws和throw的区别讲解
当然,你需要明白异常在Java中式以一个对象来看待.并且所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,但是一般情况下Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示, ...
- Java异常throws与throw的区别
throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以使用逗号隔开.当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象.谁调用谁处理: 抛出异常throws: ...
- Java -- 异常的捕获及处理 -- throws与throw关键字
7.2 throws 与 throw关键字 7.2.1 throws 关键字 在定义一个方法时可以使用throws关键字声明,使用throws声明的方法标识此方法不处理异常,而交给方法的调用处进行处理 ...
- Java异常机制关键字总结,及throws 和 throw 的区别
在Java的异常机制中,时常出现五个关键字:try , catch , throw , throws , finally. 下面将总结各个关键字的用法,以及throw和throws的区别: (1) t ...
- JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)
1.throws和throw的区别 throws使用在函数外,是编译时的异常,throw使用在函数内,是运行时的异常 使用方法 public int method(int[] arr) throws ...
- JAVA中的throws和throw的区别
Java 一直对java中的throws和throw不太理解.最近一直在查这两个方面的资料,算是能明白一点吧.如果我下面的观点哪有不对,希望指出来,我加以改进. throw:( ...
- -1-6 java 异常简单介绍 java异常 异常体系 Throwable 分类 throws和throw 异常处理 自定义异常
异常 异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象. 其实就是Java对不正常情况进行描述 ...
- java的异常抛出throws和throw的简单使用
前提: 当在程序测试时,如果你需要定义一个自己的异常,而非现在已经存在的异常,这个时候你需要用到throws和throw,try-catch只是一个简单的捕获异常的过程. 代码如下: package ...
- java中的抛出异常throws与throw
throws与throw throws是方法可能抛出异常的声明.(用在声明方法时,表示该方法可能要抛出异常)语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{.. ...
随机推荐
- Linux(Ubuntu)下如何安装JDK
一.下载 首先,当然是要下载了. 按照需要选择不同的版本.笔者选择的是 jdk-7u45,如图: 二. 解压 将下载下来的 .tar.gz 文件解压. 使用如下命令解压: sudo tar zxvf ...
- CAP理论
自打引入CAP理论的十几年里,设计师和研究者已经以它为理论基础探索了各式各样新颖的分布式系统,甚至到了滥用的程度.NoSQL运动也将CAP理论当作对抗传统关系型数据库的依据. CAP理论主张任何基于网 ...
- OKhttp初步
OkHttp 使用方法:1.分为同步和异步.同步:1.getRequest request = new Request.Builder().url(utl).build();Response resp ...
- JS自动填写分号导致的坑
JS中会自动清除句子和句子之间的空格以及tab缩进, 这样就可以允许用户编写的代码更加随性和更加可读, 在该行代码解析的时候如果该行代码可以解析, 就会在该行代码最后自动填写分号,如果该行代码无法解析 ...
- htm.dropdownlist
@Html.DropDownList("status", new SelectList(new[] { "驳回", "确认", " ...
- servlet监听器Listener(理论+例子)
Listener采用了观察者模式(24种模式之一),Listener是servlet的监听器,他可以监听客户端的请求.服务器端的操作等, 通过监听器,可以自动激发一些操作.比如:监听在线用户数量 当增 ...
- 【SPOJ QTREE2】QTREE2 - Query on a tree II(LCA)
You are given a tree (an undirected acyclic connected graph) with N nodes, and edges numbered 1, 2, ...
- viewport ---移动端详解
转自---http://www.cnblogs.com/2050/p/3877280.html 移动前端开发之viewport的深入理解 在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上 ...
- [bzoj4408][Fjoi2016]神秘数
Description 一个可重复数字集合$S$的神秘数定义为最小的不能被$S$的子集的和表示的正整数. 例如$S={1,1,1,4,13}$, $1=1$, $2=1+1$, $3=1+1+1$, ...
- Leetcode 86. Unique Binary Search Trees
本题利用BST的特性来用DP求解.由于BST的性质,所以root左子树的node全部<root.而右子树的node全部>root. 左子树 = [1, j-1], root = j, 右子 ...