java中的规范是什么意思_Java中的异常规范有什么好处?
我从C来到Java.
在Java和C中,我们都可以指定异常.看起来像这样:
void function_name() throw(Exception)
{
...
if (error)
{
throw Exception("Error");
}
...
}
据我所知,在C中编写异常规范被认为是一种不好的做法.与C不同,在Java中,我们必须这样做.所以,我的问题是:
用Java编写异常规范有什么好处?
解决方法:
您只需在方法签名中指定检查的异常(Exception类的子类).无需指定未经检查的异常(RuntimeException类的子类).
在方法签名中指定异常是语言语义定义的固有Java惯例.但是对此也有很多争议.一些团队和项目甚至认为这是不好的做法,并且仅使用未经检查的异常.
通常,作为一种好的做法,当您将其定义为方法约定的一部分时,应抛出一个检查异常,即方法调用者必须知道某些特定的(相当可能和可恢复的)错误类型,并捕获并处理该错误,或将其传递给调用堆栈.未经检查的异常通常表示方法代码中的某些内部错误,因此无需捕获.
标签:exception,specifications,java,c-4
来源: https://codeday.me/bug/20191028/1951091.html
java中的规范是什么意思_Java中的异常规范有什么好处?相关推荐
- java中char是几个字节_Java中char占用几个字节
在讨论这个问题之前,我们需要先区分unicode和UTF. unicode :统一的字符编号,仅仅提供字符与编号间映射.符号数量在不断增加,已超百万.详细:[https://zh.wikipedia. ...
- Java传统的io和nio区别_Java中IO和NIO的本质和区别
简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...
- java语言中的数据是如何定义_java中的数据类型
java中的数据类型 java语言的数据类型包括两种,基本数据类型和引用数据类型. 定义 基本数据类型:变量名指向具体的数值. 引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值. ...
- java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...
我们知道,继承,组合,重载,重写是java语言的面向对象实现的基本特征. 那么在java内部,究竟是如何实现这些面对对象的基本特征的呢? 继承和组合是面向对象中代码复用的主要实现方式,他们可以达到类似 ...
- java如果把字符串转成对象_Java中的重复对象:不仅仅是字符串
当Java应用程序消耗大量内存时,它本身就会出现问题,并可能导致GC压力增加和GC暂停时间过长.在我之前的一篇文章中,我讨论了Java中常见的内存浪费源:重复字符串.两个 java.lang.Stri ...
- java访问方法修饰词四个_java中的四个修饰词(访问权限)
Java类成员的访问控制权限 有了包的概念之后,下面就可以开始为读者讲解 JAVA 语言之中的访问控制权限 的概念了.在 JAVA 中有四种访问控制权限,分别为:private.default.pro ...
- java购买同一件商品时加锁_java中CAS的ABA问题思考和整理(不看后悔系列)
前言 听说经常面试被问到~今天同事说了这个问题,就查了一下这问题,觉得挺有意思的,就整理出来跟大家分享下.主要思考下面几个问题: 1.什么是CAS? 2.什么是CAS的ABA问题? 3.怎么解决这个问 ...
- java中子类与父类强制转换_java中父类强制转换成子类的错觉
引言:父类引用指向子类对象在java中十分常见,比如: Object object=new a();//a是一个类名 但是有时候我们看见子类引用指向了父类对象,就是上边的反过来,比如 图片中圈1标识的 ...
- Java所有函数都是动态的_Java中的函数动态调用
//------------------------------------- //类ArgumentHolder //用于调用参数的封装,实现变长参数及 //不同类型参数的统一形式地传递 //成员变 ...
最新文章
- 让您的电脑在任意目录可以支持图片的粘贴,试试看呗(第二篇)~
- 物理搬砖问题_搬砖姿势:风法
- 肖像:作家艺术家之一
- 博古通今的孩子是怎么养成的?答案就在这本影响了无数中国人思想的奇书里……
- 安卓布局位置,dp与px的区别
- 今天的离离原上草的飞鸽传书
- NOI入门级:算法之动态规划
- 针对不同包之间的action跳转,怎么配置?
- myeclipse连接mysql生成数据表时中文字符乱码或问号(解决方法)
- vue内容省略表示(超过15位显示...)
- c语言中文纠错,c语言纠错。。急急急。。
- 赛门铁克卸载工具CleanWipe14亲测有效
- java mysql点赞功能_怎么实现一个点赞功能?
- Appium+python自动化(二十一)- 让猴子按你指令大闹手机,让我们都成为耍猴高手(超详解)...
- exter与static的用法
- 2019 CSP-J 游记(CQ LNBS考场 的退役之战)
- Flutter访问webservice
- 【华为机试】【校招】【Java】机器人走迷宫(DFS)
- element-ui——安装element-plus
- 阿拉伯字母发音--全集