Java中throw和throws有什么区别?
一、说明:
1、
throw
在方法体内使用,throws
在方法声明上使用;
2、
throw
后面接的是异常对象,只能接一个。throws
后面接的是异常类型,可以接多个,多个异常类型用逗号隔开;
3、
throw
是在方法中出现不正确情况时,手动来抛出异常,结束方法的,执行了throw
语句一定会出现异常。而throws
是用来声明当前方法有可能会出现某种异常的,如果出现了相应的异常,将由调用者来处理,声明了异常不一定会出现异常。
二、相关解析
throw
和throws
都是用来进行 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有什么区别?相关推荐
- Java 中 throw 和 throws 联系与区别
throws 用于方法后声明抛出异常,而 throw 关键字用来人工引发异常,异常发生时,系统会生成一个异常对象,并将其抛出,但也可通过throw语句显式抛出. 相同:throw显式抛 ...
- java throw与throws_基于Java中throw和throws的区别(详解)
系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...
- throws java_基于Java中throw和throws的区别(详解)
系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...
- java里throws详细讲解,基于Java中throw和throws的区别(详解)
系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...
- java中throw与throws的区别
java中throw与throws的区别 throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常. throw是具体向外抛异常的动作,所以它是抛出一个异常实例. throw ...
- java中int和integer的区别_Java异常中throw和throws关键字的区别
Java中常常弄混的两个关键字,throw和throws,它们有什么区别呢?如何记忆他们,而不至于出错呢? throw和throws 区别 throws:出现在方法的签名中,声明当前方法可能抛出的所有 ...
- Java中throw和throws的区别
系统自动抛出的异常 所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行. 语句抛出的异常 ...
- java throw 什么意思_[转载]java中throw和throws的区别
throw是一种控制程序流程的特殊方法而已.没有相应的catch的话,可以中止当前的方法继续执行. 关键字:throws 声明方法时候,如果不声明throws的话,那么一般的Exception都要在这 ...
- java throw 什么意思_Java中throw和throws有什么区别?
当然,你需要明白异常在Java中式以一个对象来看待. 并且所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,但是一般情况下Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示 ...
最新文章
- 优秀的程序反而是廉价
- java常见问题排查
- WSGI、Flask及Werkzeug三者之间的关系
- 雾霾入侵机房会产生哪些危害?该如何防护?
- 2021年7月份学习总结,多套WebFuture的系统部署(简易版)
- [ZJOI2014] 星系调查(树上差分 + 数学推式子)
- php查看运行时间和内存,php 统计时间和内存的使用情况
- 程序自动分析(洛谷-P1955)
- 实战 | Element UI 父子组件传值与事件绑定(逆向)
- 二叉树 | 根据前序、后序生成中序
- desc 枚举类型id_想让代码更优雅?Mybatis类型处理器了解一下!
- 阿里云智能 AIoT 首席科学家丁险峰:阿里全面进军 IoT 这一年 | 问底中国 IT 技术演进
- java使用BZip算法压缩解压缩文件、数据流、byte[]字节数组
- 动易CMS - 模板的一些常用标签
- 超好用的富文本编辑器froalaEditor(方便传图片和视频等)
- 计算机械效率的公式四种,物理计算公式;
- DIADEM_metric不能运行及解决办法
- linux 字符终端F1-F6 图形终端F7- F12 简介
- 读书笔记(穷查理宝典)
- 【乐理入门】——音符与五线谱(1)
热门文章
- Navigation的基本使用
- EXCEL教程 | 保存多比例尺、多尺寸地图,支持大图、加水印、保存PNG、TIF、HTML等格式
- Android 开发技术干货
- 新能源造车的恒大创新样本
- Spring Boot整合海外第三方支付Coda Payments
- Python爬虫之——爬取妹子图片
- 【技术专题】如何做数据库选型?
- 深度学习数据标注_Lableme及标注文件的使用(以YOLO v3为例)
- android 相机拍照声音文件格式,android4.1 添加相机快门声音开关
- 对角阵在matlab,MATLABSimulink实现对角阵解耦(模型和代码).pdf