知识大全 Java违例规范

Posted

篇首语:努力尽今夕,少年犹可夸。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java违例规范相关的知识,希望对你有一定的参考价值。

Java违例规范  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在Java中 对那些要调用方法的客户程序员 我们要通知他们可能从自己的方法里 掷 出违例 这是一种有礼貌的做法 只有它才能使客户程序员准确地知道要编写什么代码来捕获所有潜在的违例 当然 若你同时提供了源码 客户程序员甚至能全盘检查代码 找出相应的throw语句 但尽管如此 通常并不随同源码提供库 为解决这个问题 Java提供了一种特殊的语法格式(并强迫我们采用) 以便礼貌地告诉客户程序员该方法会 掷 出什么违例 令对方方便地加以控制 这便是我们在这里要讲述的 违例规范 它属于方法声明的一部分 位于自变量(参数)列表的后面   违例规范采用了一个额外的关键字 throws 后面跟随全部潜在的违例类型 因此 我们的方法定义看起来应象下面这个样子   void f() throws tooBig tooSmall divZero //   若使用下述代码   void f() [ //   它意味着不会从方法里 掷 出违例(除类型为RuntimeException的违例以外 它可能从任何地方掷出——稍后还会详细讲述)   但不能完全依赖违例规范——假若方法造成了一个违例 但没有对其进行控制 编译器会侦测到这个情况 并告诉我们必须控制违例 或者指出应该从方法里 掷 出一个违例规范 通过坚持从顶部到底部排列违例规范 Java可在编译期保证违例的正确性(注释②)     ② 这是在C++违例控制基础上一个显著的进步 后者除非到运行期 否则不会捕获不符合违例规范的错误 这使得C++的违例控制机制显得用处不大     我们在这个地方可采取欺骗手段 要求 掷 出一个并没有发生的违例 编译器能理解我们的要求 并强迫使用这个方法的用户当作真的产生了那个违例处理 在实际应用中 可将其作为那个违例的一个 占位符 使用 这样一来 以后可以方便地产生实际的违例 毋需修改现有的代码 cha138/Article/program/Java/JSP/201311/19800

相关参考

知识大全 创建自己的违例

  并不一定非要使用Java违例这一点必须掌握因为经常都需要创建自己的违例以便指出自己的库可能生成的一个特殊错误——但创建Java分级结构的时候这个错误是无法预知的  为创建自己的违例类必须从一个现有

知识大全 丢失的违例

  一般情况下Java的违例实施方案都显得十分出色不幸的是它依然存在一个缺点尽管违例指出程序里存在一个危机而且绝不应忽略但一个违例仍有可能简单地丢失在采用finally从句的一种特殊配置下便有可能发生

知识大全 Java中的构建器

Java中的构建器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为违例编写代码时我们经常要解决

知识大全 Java 程序编码规范与技巧

Java程序编码规范与技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  java程序编码规范 

知识大全 Java编程风格与命名规范整理

Java编程风格与命名规范整理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基本命名规范  包

知识大全 C++、Java与C#的命名规范总结

C++、Java与C#的命名规范总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要由于在开

知识大全 java的volatile与多线程

  Java语言规范中指出为了获得最佳速度允许线程保存共享成员变量的私有拷贝而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比  Volatile修饰的成员变量在每次被线程访问时都强迫从

知识大全 javascript中的编程语言如何编码规范

  对于熟悉C/C++或Java语言的工程师来说javascript显得灵活简单易懂对代码的格式的要求也相对松散很容易学习并运用到自己的代码中也正因为这样javascript的编码规范也往往被轻视开发

知识大全 java的内部类和匿名类剖析

   Java通过对Java语言规范进行修改显著简化了一些实用结构的实现在那些修改中最引人注目的就是内部类和匿名类如运用得当它们可使程序更易理解和维护本文介绍内部类和匿名

知识大全 gwt和echo2的对比

  综合对比  两个都是非传统的b/s框架都是用AJAX来构造动态网站编程过程都和SWT/Swing差不多  区别在于一个运行于客户端一个运行于服务器  gwt把代码编译为+js目前只支持java规范