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(异常类)]{.. ...
随机推荐
- C++_直接插入排序
#include <iostream> using namespace std; void insertSort(int a[], int n) { for(int i=1;i&l ...
- Ubuntu 14.04 安装最新稳定版Nginx 1.6.0
如果已经安装,请先卸载sudo apt-get remove nginx最新的稳定版Nginx 1.6.0在ubuntuupdates ppa库中提供,网址http://www.ubuntuupdat ...
- jsoup-提示java.net.SocketTimeoutException:Read timed out
使用Jsoup.connect(url).get()连接某网站时偶尔会出现 java.net.SocketTimeoutException:Read timed out异常. 原因是默认的Socket ...
- shell实现两个数的相加
刚开始的时候写,一直写不对:看似简单的功能,但是一定要小心:函数的定义: funciton functionName {.....}在functionName和{之间一定有空格啊! 我就是没加空格,就 ...
- 【USACO 2.2】Preface Numbering (找规律)
求 1-n 的所有罗马数字表达中,出现过的每个字母的个数. 分别对每个数的罗马表达式计算每个字母个数. 对于十进制的每一位,都是一样的规则,只是代表的字母不同. 于是我们从最后一位往前考虑,当前位由字 ...
- 【USACO 2.1】Sorting A Three-Valued Sequence
/* TASK: sort3 LANG: C++ URL: http://train.usaco.org/usacoprob2?a=RkPIMxsFWzm&S=sort3 SOLVE: n个数 ...
- Python的禅,“提姆彼得斯”说的非常有道理道出了这门编程语言的真谛!
The Zen of Python, by Tim Peters Beautiful is better than ugly.Explicit is better than implicit.Simp ...
- [日常训练]最大M子段和
Description 在长度为的序列中选出段互不相交的子段,求最大字段和. Input 第一行两个整数. 第二行个整数. Output 一行一个整数表示最大值. Sample Input 5 2 1 ...
- [bzoj1854][SCOI2010]游戏
Description 一个装备有两个属性,一个装备只能被使用一次,一次使用一种属性.攻击boss时需按属性1.属性2.属性3...属性k的顺序使用,问k最大为多少. Input 输入的第一行是一个整 ...
- 一次性下载CVPR2016的所有文章
wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://www.cv-foun ...