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的更多相关文章

  1. Java中throws和throw的区别讲解

    当然,你需要明白异常在Java中式以一个对象来看待.并且所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,但是一般情况下Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示, ...

  2. Java异常throws与throw的区别

    throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以使用逗号隔开.当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象.谁调用谁处理: 抛出异常throws: ...

  3. Java -- 异常的捕获及处理 -- throws与throw关键字

    7.2 throws 与 throw关键字 7.2.1 throws 关键字 在定义一个方法时可以使用throws关键字声明,使用throws声明的方法标识此方法不处理异常,而交给方法的调用处进行处理 ...

  4. Java异常机制关键字总结,及throws 和 throw 的区别

    在Java的异常机制中,时常出现五个关键字:try , catch , throw , throws , finally. 下面将总结各个关键字的用法,以及throw和throws的区别: (1) t ...

  5. JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)

    1.throws和throw的区别 throws使用在函数外,是编译时的异常,throw使用在函数内,是运行时的异常 使用方法 public int method(int[] arr) throws ...

  6. JAVA中的throws和throw的区别

    Java     一直对java中的throws和throw不太理解.最近一直在查这两个方面的资料,算是能明白一点吧.如果我下面的观点哪有不对,希望指出来,我加以改进.         throw:( ...

  7. -1-6 java 异常简单介绍 java异常 异常体系 Throwable 分类 throws和throw 异常处理 自定义异常

      异常   异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象. 其实就是Java对不正常情况进行描述 ...

  8. java的异常抛出throws和throw的简单使用

    前提: 当在程序测试时,如果你需要定义一个自己的异常,而非现在已经存在的异常,这个时候你需要用到throws和throw,try-catch只是一个简单的捕获异常的过程. 代码如下: package ...

  9. java中的抛出异常throws与throw

    throws与throw throws是方法可能抛出异常的声明.(用在声明方法时,表示该方法可能要抛出异常)语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{.. ...

随机推荐

  1. MVC的理解

    一: MVC MVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器. 模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(Plain ...

  2. git介绍

    简介:Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.Git ...

  3. Jenkins的maven工程打包的时候怎么指定不同环境的配置文件

    http://outofmemory.cn/code-snippet/6643/maven-profile-define-enviroment-package 在打包的时候我们添加上 这里我们指定配置 ...

  4. 【BZOJ 2434】【NOI 2011】阿狸的打字机 fail树

    完全不会啊,看题解还看了好久,我是蒟蒻$QAQ$ $zyf$的题解挺好的:http://blog.csdn.net/clove_unique/article/details/51059425 $fai ...

  5. codeforces Hill Number 数位dp

    http://www.codeforces.com/gym/100827/attachments Hill Number Time Limits:  5000 MS   Memory Limits: ...

  6. Python之几种重要的基本类型:元组,列表,字典,字符串,集合

    写在前面:重点讲解元组,列表,字典相关概念和常用操作. 一.元组(tuple) 1.特性:不可更改的数据序列.[理解:一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新.增加.删除操作] 2. ...

  7. 学习WebSocket(一):Spring WebSocket的简单使用

    1.什么是websocket? WebSocket协议定义了一种web应用的新功能,它实现了服务器端和客户端的全双工通信.全双工通信即通信的双方可以同时发送和接收信息 的信息交互方式.它是继Java ...

  8. java高新技术-泛型

    1.体验泛型 泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合时去除掉"类型"信息,使程序运行小效率不受影响 ...

  9. 【vijos1243】 生产产品

    https://vijos.org/p/1243 (题目链接) 题意 一个产品的生产有m个步骤,一共n个机器人.机器人i完成步骤j的时间为T[i][j],每次当产品从一个机器人那里移动到另一个机器人那 ...

  10. SQL Server表结构和数据导入到MySQL

    借助的工具:Navicat for MySQL,链接:http://pan.baidu.com/s/1kVCw8IF 密码:g927 可以很明确的肯定,主键和自增列是没办法导入的,只能是表结构和数据. ...