Java自定义异常类

自定义异常:步骤 ­

创新互联公司自2013年起,是专业互联网技术服务公司,拥有项目成都做网站、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元新吴做网站,已为上家服务,为新吴各地企业和个人服务,联系电话:18982081108

一:创建一个类继承于Throwable或其子类;

二:添加构造方法;

三:在一个方法中使用throw抛出异常;

四:在另一个方法中捕获并处理异常。

示例:

一、继承Exception类

Java代码

 
 
 
  1. public class MyFirstException extends Exception {   
  2. public MyFirstException() {   
  3. super();   
  4. }   
  5. public MyFirstException(String msg) {   
  6. super(msg);   
  7. }   
  8. public MyFirstException(String msg, Throwable cause) {   
  9. super(msg, cause);   
  10. }   
  11. public MyFirstException(Throwable cause) {   
  12. super(cause);   
  13. }   
  14. //自定义异常类的主要作用是区分异常发生的位置,当用户遇到异常时,   
  15. //根据异常名就可以知道哪里有异常,根据异常提示信息进行修改。   
  16. }  

二、 继承Throwable 类

Java代码

 
 
 
  1. public class MySecondException extends Throwable {   
  2. public MySecondException() {   
  3. super();   
  4. }   
  5. public MySecondException(String msg) {   
  6. super(msg);   
  7. }   
  8. public MySecondException(String msg, Throwable cause) {   
  9. super(msg, cause);   
  10. }   
  11. public MySecondException(Throwable cause) {   
  12. super(cause);   
  13. }   
  14. }  

三、测试

Java代码

 
 
 
  1. /**   
  2. * 自定义异常类的使用   
  3. * @author new   
  4. *   
  5. */   
  6. public class TestMyException {   
  7. public static void firstException() throws MyFirstException{   
  8. throw new MyFirstException("\"firstException()\" method occurs an exception!");   
  9. }   
  10.    
  11. public static void secondException() throws MySecondException{   
  12. throw new MySecondException("\"secondException()\" method occurs an exception!");   
  13. }   
  14. public static void main(String[] args) {   
  15. try {   
  16. TestMyException.firstException();   
  17. TestMyException.secondException();   
  18. } catch (MyFirstException e1){   
  19. System.out.println("Exception: " + e1.getMessage());   
  20. e1.printStackTrace();   
  21. } catch (MySecondException e2){   
  22. System.out.println("Exception: " + e2.getMessage());   
  23. e2.printStackTrace();   
  24. }   
  25. //当一个try块后面跟着多个catch块时,如果发生的异常匹配***个catch块的参数,便将异常处理权利交给***个catch块。   
  26. //如果发生的异常与***个catch块不匹配,便看是否与第二个catch块匹配,依次下去,如果到***依然无法匹配该异常,   
  27. //便需要在方法声明中添加一条throw语句,将该异常抛出。   
  28. //因此,在有多个catch块,而且每次处理的异常类型具有继承关系时,应该首先catch子类异常,再catch父类异常。   
  29. //比如,如果MySecondException继承MyFirstException,那么***将catch(MySecondException e2)放在前面   
  30. //把catch (MyFirstException e1)放在后面。   
  31. }  

原文链接:http://www.cnblogs.com/winkey4986/archive/2011/12/13/2285768.html

【编辑推荐】

  1. Java编程:数据的截尾与舍入
  2. Java版A星算法实现步骤
  3. Tomcat运行Java Web内存溢出总结
  4. Java NIO如何处理慢速的连接
  5. Java NIO2 AIO开发核心流程

分享题目:Java自定义异常类
网页URL:http://www.shufengxianlan.com/qtweb/news26/156576.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联