编程中自定义Java有什么异常?

来源:北大青鸟飞迅校区|发布时间:2013-04-21 19:10:38

基础编程中自定义Java异常:

  1.前言:

   你的程序总有一天会崩溃掉,在崩溃掉的时候我们要知道它在哪,为了什么而崩溃掉,数据的保存或者丢失情况如何等问题。我们可以通过继承类java.lang.Throwable的子类:Exception来设计我们自己的Java异常。Exception类用于描述程序能够捕获的异常,如ClassNotFoundException。要注意的是自定义异常类之间也可以有继承关系,同时也需要为自定义异常类设计构造方法,以方便构造自定义异常对象。

   2.设计实例分析:

   这是个比较完整的自定义异常类的设计,其实是比较模板化的东西。

   package playground;

  import java.io.*;

  public class MyException extends Exception {

  private int id; // a unique id

  private String classname; // the name of the class

  private String method; // the name of the method

  private String message; // a detailed message

  private MyException previous =

  null; // the exception which was caught

  private String separator = "n"; // line separator

  public MyException(int id, String classname, String method,

  String message, MyException previous) {

  this.id = id;

  this.classname = classname;

  this.method = method;

  this.message = message;

  this.previous = previous;

  }

  public String traceBack() {

  return traceBack("n");

  }

  public String traceBack(String sep) {

  this.separator = sep;

  int level = 0;

  MyException e = this;

  String text = line("Calling sequence (top to bottom)");

  while (e != null) {

  level++;

  text += line("--level " + level + "--------------------------------------");

  text += line("Class/Method: " + e.classname + "/" + e.method);

  text += line("Id : " + e.id);

  text += line("Message : " + e.message);

  e = e.previous;

  }

  return text;

  }

  private String line(String s) {

  return s + separator;

  }

  }

    我们来一个个看看这些东西:

   在这个继承了Exception类的自定义异常类中,我们定义了如下变量:

 id:独立标示符,这个是用来进行标示类中什么地方出现了错误被捕捉到。

classname:捕捉到这个错误的类的名字。

上一篇:如何用java命令行动态生成jpg文件?
下一篇:Java编程保证线程安全有哪三种方法

热门话题

招生热线: 4008-0731-86 / 0731-82186801

学校地址: 长沙市天心区团结路6号

Copyright © 2006 | 湖南大计信息科技有限公司 版权所有

湘ICP备14017520号-3

关注我们
在线咨询
嘿,我来帮您!