1、throws
throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。如下面例子所示:

public class Shoot {static void pop() throws NegativeArraySizeException {//定义方法并抛出NegativeArraySizeException异常int [] arr = new int[-3];//创建数组}public static void main(String[] args) {//主方法try { pop(); //调用pop()方法} catch (NegativeArraySizeException e) {System.out.println("pop()方法抛出的异常");//输出异常信息}}
}

2、throw
throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。举例如下:

class MyException extends Exception { //创建自定义异常类String message; //定义String类型变量public MyException(String ErrorMessagr) {  //父类方法message = ErrorMessagr;}public String getMessage(){   //覆盖getMessage()方法return message;}
}public class Captor { //创建类static int quotient(int x,int y) throws MyException{//定义方法抛出异常if(y < 0){  //判断参数是否小于0throw new MyException("除数不能是负数");//异常信息}return x/y;//返回值}public static void main(String args[]){ //主方法try{ //try语句包含可能发生异常的语句int result = quotient(3,-1);//调用方法quotient()}catch (MyException e) { //处理自定义异常System.out.println(e.getMessage()); //输出异常信息}catch (ArithmeticException e) {//处理ArithmeticException异常System.out.println("除数不能为0");//输出提示信息}catch (Exception e) { //处理其他异常System.out.println("程序发生了其他的异常");//输出提示信息}}
}

java中的throw和throws区别相关推荐

  1. 简要解析Java中的throw和throws关键字

    解析Java中的throw和throws关键字 1 throws关键字 1.1 作用 向上抛异常,把异常交给调用处处理,实际上自身并没有处理异常. 1.2 原理 一旦方法体出现异常,仍会在异常代码出生 ...

  2. Java中关键字throw和throws的区别

    抛出异常有三种形式 throw throws 系统自动抛异常 一.系统自动抛异常 当程序语句出现一些逻辑错误.主义错误或类型转换错误时,系统会自动抛出异常:(举个栗子) public static v ...

  3. java中int和integer的区别_Java异常中throw和throws关键字的区别

    Java中常常弄混的两个关键字,throw和throws,它们有什么区别呢?如何记忆他们,而不至于出错呢? throw和throws 区别 throws:出现在方法的签名中,声明当前方法可能抛出的所有 ...

  4. java中的异常种类和区别以及处理机制和区别

    java中的异常种类和区别以及处理机制和区别 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeExce ...

  5. java中Runnable和Callable的区别

    文章目录 运行机制 返回值的不同 Exception处理 java中Runnable和Callable的区别 在java的多线程开发中Runnable一直以来都是多线程的核心,而Callable是ja ...

  6. java中wait和sleep的区别

    文章目录 Wait和sleep的区别 唤醒wait和sleep java中wait和sleep的区别 在本篇文章中,我们将会讨论一下java中wait()和sleep()方法的区别.并讨论一下怎么使用 ...

  7. Java中notify和notifyAll的区别 - 何时以及如何使用

    Java  notify   vs notifyAll notify和notifyAll方法之间有什么区别是棘手的Java问题之一! Condition 是个什么玩意? 提几个问题,从问题中去了解去学 ...

  8. java中ArrayList和LinkedList的区别

    首先来看ArrayList和LinkedList的集成类和接口的区别.// lang java public class ArrayList<E> extends AbstractList ...

  9. Java中重载和复写的区别

    Java中重载和复写的区别 重载(overload) 复写(override) 区别和联系 重载(overload) 函数重载的最突出的例子就是类的构造函数,用户定义一个对象时可能会提供多种参数组合: ...

最新文章

  1. 强化学习教程来啦!贡献者来自中科院、清华、北大3位男神!
  2. oracle tochar fm,oracle的to_char中的fm
  3. 【计算机基础】 操作系统总结(未完)
  4. 设置打包方式为war
  5. 使用MyBatista----上传图像
  6. csv linux java,java 执行Linux 命令合并.csv文件
  7. java+2e10_CoreJavaE10V1P3.10 第3章 Java的基本编程结构-3.10 数组(Arrays)
  8. windows 64 搭建RabbitMQ环境
  9. android点击按钮修改文本,如何在android中每3秒动态更改按钮文本?
  10. java 文件上传 乱码_java中文传值乱码问题的解决方法
  11. html5 逐帧播放 代码,html5-video – 使用媒体源扩展进行逐帧解码
  12. 大行bya412和java513_转:我的折叠生活之大行bya412改装总结
  13. 西电、成电的风雨往事
  14. 怎么及时给服务器系统打补丁,技巧:巧打补丁保护服务器安全
  15. 用canvas画七彩虹伞
  16. 阿克曼(Ackmann)函数
  17. Python虚拟环境——virtualenv
  18. 办公室装修风格都有哪些?
  19. 基础爬虫案例爬取实战
  20. java面试题集中了好几篇的搜索的

热门文章

  1. pinnacle studio 24旗舰版 新功能以安装教程
  2. JsBridge框架原理全解析
  3. 部分城市知名互联网公司名单(部分公司)
  4. 全栈系列Vue版拉勾
  5. 使用51单片机模拟红外线遥控器的按键发射的红外线
  6. 【Vue基本指令】一.什么是Vue;二.Vue开发的方式;三.Vue的基本指令(重点)
  7. jsTree添加给节点添加自定义属性
  8. 基于xilinx Zynq UltraScale MPSoC平台的核心板及开发板介绍-米尔科技
  9. 实时车票查询及登陆CTC
  10. 周期性时间序列的预测