一、说明:

1、throw 在方法体内使用,throws 在方法声明上使用;
2、throw 后面接的是异常对象,只能接一个。throws 后面接的是异常类型,可以接多个,多个异常类型用逗号隔开;
3、throw 是在方法中出现不正确情况时,手动来抛出异常,结束方法的,执行了 throw 语句一定会出现异常。而 throws 是用来声明当前方法有可能会出现某种异常的,如果出现了相应的异常,将由调用者来处理,声明了异常不一定会出现异常。

二、相关解析

throwthrows 都是用来进行 Java 异常处理的。

1、其中,throw 是用在某个方法的方法体内的,当我们认定某种情况不合理时,就可以创建异常对象,封装好异常信息,然后通过 throw 来抛出异常并终止该方法。
public class CustomerLevel {// 性别private String level;public String getLevel() {return level;}public void setLevel(String level) {if (!("会员".equals(level) || "普通用户".equals(level))) {//throw用在setLevel(String level)方法的方法体内throw new IllegalArgumentException("非法用户:" + level);}this.level = level;}
}
2、而 throws 是用在某个方法的方法声明上的,表示当前方法如果抛出了某些异常,将由调用者来进行异常处理。这种方式也可以让调用者知晓该对哪些异常进行处理。throws 声明的异常不一定会出现,只是一种可能。
public class FileInputStream extends InputStream {//throws用在FileInputStream(String namwe)方法的方法声明上的public FileInputStream(String name) throws FileNotFoundException {this(name != null ? new File(name) : null);}
}

Java中throw和throws有什么区别?相关推荐

  1. Java 中 throw 和 throws 联系与区别

            throws 用于方法后声明抛出异常,而 throw 关键字用来人工引发异常,异常发生时,系统会生成一个异常对象,并将其抛出,但也可通过throw语句显式抛出. 相同:throw显式抛 ...

  2. java throw与throws_基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  3. throws java_基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  4. java里throws详细讲解,基于Java中throw和throws的区别(详解)

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...

  5. java中throw与throws的区别

    java中throw与throws的区别 throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常. throw是具体向外抛异常的动作,所以它是抛出一个异常实例. throw ...

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

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

  7. Java中throw和throws的区别

    系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常  ...

  8. java throw 什么意思_[转载]java中throw和throws的区别

    throw是一种控制程序流程的特殊方法而已.没有相应的catch的话,可以中止当前的方法继续执行. 关键字:throws 声明方法时候,如果不声明throws的话,那么一般的Exception都要在这 ...

  9. java throw 什么意思_Java中throw和throws有什么区别?

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

最新文章

  1. 优秀的程序反而是廉价
  2. java常见问题排查
  3. WSGI、Flask及Werkzeug三者之间的关系
  4. 雾霾入侵机房会产生哪些危害?该如何防护?
  5. 2021年7月份学习总结,多套WebFuture的系统部署(简易版)
  6. [ZJOI2014] 星系调查(树上差分 + 数学推式子)
  7. php查看运行时间和内存,php 统计时间和内存的使用情况
  8. 程序自动分析(洛谷-P1955)
  9. 实战 | Element UI 父子组件传值与事件绑定(逆向)
  10. 二叉树 | 根据前序、后序生成中序
  11. desc 枚举类型id_想让代码更优雅?Mybatis类型处理器了解一下!
  12. 阿里云智能 AIoT 首席科学家丁险峰:阿里全面进军 IoT 这一年 | 问底中国 IT 技术演进
  13. java使用BZip算法压缩解压缩文件、数据流、byte[]字节数组
  14. 动易CMS - 模板的一些常用标签
  15. 超好用的富文本编辑器froalaEditor(方便传图片和视频等)
  16. 计算机械效率的公式四种,物理计算公式;
  17. DIADEM_metric不能运行及解决办法
  18. linux 字符终端F1-F6 图形终端F7- F12 简介
  19. 读书笔记(穷查理宝典)
  20. 【乐理入门】——音符与五线谱(1)

热门文章

  1. Navigation的基本使用
  2. EXCEL教程 | 保存多比例尺、多尺寸地图,支持大图、加水印、保存PNG、TIF、HTML等格式
  3. Android 开发技术干货
  4. 新能源造车的恒大创新样本
  5. Spring Boot整合海外第三方支付Coda Payments
  6. Python爬虫之——爬取妹子图片
  7. 【技术专题】如何做数据库选型?
  8. 深度学习数据标注_Lableme及标注文件的使用(以YOLO v3为例)
  9. android 相机拍照声音文件格式,android4.1 添加相机快门声音开关
  10. 对角阵在matlab,MATLABSimulink实现对角阵解耦(模型和代码).pdf