知识大全 创建自己的违例

Posted 基础

篇首语:人间有三愿,一愿识尽世间好人,二愿读尽世间好书,三愿看尽世间好风光。人间最美四月天,祝你三愿皆有所获。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 创建自己的违例相关的知识,希望对你有一定的参考价值。

  并不一定非要使用Java违例 这一点必须掌握 因为经常都需要创建自己的违例 以便指出自己的库可能生成的一个特殊错误——但创建Java分级结构的时候 这个错误是无法预知的   为创建自己的违例类 必须从一个现有的违例类型继承——最好在含义上与新违例近似 继承一个违例相当简单     //: Inheriting java  // Inheriting your own exceptions    class MyException extends Exception    public MyException()    public MyException(String msg)     super(msg);         public class Inheriting    public static void f() throws MyException     System out println(      Throwing MyException from f() );    throw new MyException();      public static void g() throws MyException     System out println(      Throwing MyException from g() );    throw new MyException( Originated in g() );      public static void main(String[] args)     try      f();     catch(MyException e)      e printStackTrace();        try      g();     catch(MyException e)      e printStackTrace();          ///:~    继承在创建新类时发生     class MyException extends Exception    public MyException()    public MyException(String msg)     super(msg);         这里的关键是 extends Exception 它的意思是 除包括一个Exception的全部含义以外 还有更多的含义 增加的代码数量非常少——实际只添加了两个构建器 对MyException的创建方式进行了定义 请记住 假如我们不明确调用一个基础类构建器 编译器会自动调用基础类默认构建器 在第二个构建器中 通过使用super关键字 明确调用了带有一个String参数的基础类构建器   该程序输出结果如下     Throwing MyException from f()  MyException      at Inheriting f(Inheriting java: )      at Inheriting main(Inheriting java: )  Throwing MyException from g()  MyException: Originated in g()      at Inheriting g(Inheriting java: )      at Inheriting main(Inheriting java: )    可以看到 在从f() 掷 出的MyException违例中 缺乏详细的消息   创建自己的违例时 还可以采取更多的操作 我们可添加额外的构建器及成员     //: Inheriting java  // Inheriting your own exceptions    class MyException extends Exception    public MyException ()    public MyException (String msg)     super(msg);      public MyException (String msg int x)     super(msg);    i = x;      public int val() return i;    private int i;      public class Inheriting    public static void f() throws MyException     System out println(      Throwing MyException from f() );    throw new MyException ();      public static void g() throws MyException     System out println(      Throwing MyException from g() );    throw new MyException ( Originated in g() );      public static void h() throws MyException     System out println(      Throwing MyException from h() );    throw new MyException (      Originated in h() );      public static void main(String[] args)     try      f();     catch(MyException e)      e printStackTrace();        try      g();     catch(MyException e)      e printStackTrace();        try      h();     catch(MyException e)      e printStackTrace();     System out println( e val() = + e val());          ///:~    此时添加了一个数据成员i 同时添加了一个特殊的方法 用它读取那个值 也添加了一个额外的构建器 用它设置那个值 输出结果如下     Throwing MyException from f()  MyException       at Inheriting f(Inheriting java: )      at Inheriting main(Inheriting java: )  Throwing MyException from g()  MyException : Originated in g()      at Inheriting g(Inheriting java: )      at Inheriting main(Inheriting java: )  Throwing MyException from h()  MyException : Originated in h()      at Inheriting h(Inheriting java: )      at Inheriting main(Inheriting java: )  e val() =     由于违例不过是另一种形式的对象 所以可以继续这个进程 进一步增强违例类的能力 但要注意 对使用自己这个包的客户程序员来说 他们可能错过所有这些增强 因为他们可能只是简单地寻找准备生成的违例 除此以外不做任何事情——这是大多数Java库违例的标准用法 若出现这种情况 有可能创建一个新违例类型 其中几乎不包含任何代码   //: SimpleException java  class SimpleException extends Exception    ///:~  它要依赖编译器来创建默认构建器(会自动调用基础类的默认构建器) 当然 在这种情况下 我们不会得到一个SimpleException(String)构建器 但它实际上也不会经常用到 cha138/Article/program/Java/JSP/201311/19485

相关参考

知识大全 Java违例准则

Java违例准则  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用违例做下面这些事情  ()解决

知识大全 Java违例规范

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

知识大全 JScript创建自己的对象

JScript创建自己的对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  创建自己的对象  要

知识大全 我想在百度百科创建一个我自己的名字,但是这个名字已经有人创建了,请问怎么解决

我想在百度百科创建一个我自己的名字,但是这个名字已经有人创建了,请问怎么解决?请详细解答谢谢算你运气不号,你是完全没有可能删除词条,是不能解决,而且词条都是明星,普通人是不能到网上炫耀滴如何在百度贴吧

知识大全 怎样在百度上可以像明星一样有个自己的百度百科什么的,怎么创建啊

怎样在百度上可以像明星一样有个自己的百度百科什么的,怎么创建啊百度百科人人都可以创建,只要掌握了方法和一些规则,就可以成功的创建。如果要上人物百度百科,必须满足两点要求:第一,内容必须是客观事实,有根

知识大全 百度中如何写自己的百科?

百度中如何写自己的百科?在百度百科创建人物,这个人物起码应该是在某个领域有一定的建树,要不然创建了意义也不大.比如有些中小学生把自己的名字或ID创建词条,实在是没什么意义.创建人物词条,资料一定要客观

知识大全 我想创建一个群做淘宝天猫的优惠券自己手动的发布员,但不知道该怎样联系商家代

我想创建一个群做淘宝天猫的优惠券自己手动的发布员,但不知道该怎样联系商家代多简单,直接自己淘宝申请淘宝联盟就可以呀,都不需要联系商家我想做淘宝天猫优惠券发布员天猫优惠券?营销中心优惠券管理自己创建的我

知识大全 百度百科:首页,要帮朋友把个人资料创建到百度百科里,用我自己的账号还是要另外帮朋友申请一个账号呢

百度百科:首页,要帮朋友把个人资料创建到百度百科里,用我自己的账号还是要另外帮朋友申请一个账号呢?百度百科的创建用谁的账号都可以的,不局限于你或者是你的朋友,创建也不分级别的限制,只要你的词条满足百度

知识大全 百度百科要怎么创建词条啊

百度百科要怎么创建词条啊?一般人很难创建成功的,我的百度账号也不高,也没有那种资源,就自己创建,好几次了,都不成功,我刚搜了媒介匣的网站,评价还不错,要不我也去试试百度百科怎么创建词条啊?:baike

知识大全 怎么在自己的贴吧发帖子吧

怎么在自己的贴吧发帖子吧自己的贴吧就是自己在百度创建的贴吧。首先你要知道你是否自己创建了一个有关名字的贴吧。无论在自己的贴吧发帖还是其它关注的贴吧发帖,在贴吧首页都有一个蓝色十字的发帖提示,点开以后,