我是靠谱客的博主 等待黑夜,最近开发中收集的这篇文章主要介绍java编译期的异常处理和自定义异常,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

---------------------------- java编译期的异常处理和自定义异常-----------------

两种方式

1.  自己处理

   /**

    * 自己处理的方法

    * 编译期的异常处理不是抛出就是自己处理

    */

   publicstaticvoid divide(){

  

      try {

        ServerSocket ss = newServerSocket(8888);

      } catch(IOException e) {

        System.out.println("端口被占用");

        e.printStackTrace();

      }

      }

 

2.向上抛出

   /**

    * 向上抛出的方法

    * 编译期的异常处理不是抛出就是自己处理

    * @throwsIOException

    */

   publicstaticvoid divide() throwsIOException {

  

        ServerSocket ss = newServerSocket(8888);

  

      }

 

一般处理方式

编译期的异常自行处理即可

运行时异常要向上抛出

 

--------------自定义异常------------------

我们自己定义的异常都是运行期的异常.

 

自定义异常的步骤

1.创建一个异常类继承RuntimeException

/**

 * 自定义的异常直接来继承父类的构造器就可以了

 * @author Administrator

 *

 */

publicclass StockExceptionextends RuntimeException {

 

   public StockException() {

      super();

   }

 

   publicStockException(String message, Throwable cause, booleanenableSuppression, booleanwritableStackTrace) {

      super(message, cause, enableSuppression, writableStackTrace);

   }

 

   publicStockException(String message, Throwable cause) {

      super(message, cause);

   }

 

   publicStockException(String message) {

      super(message);

   }

 

   publicStockException(Throwable cause) {

      super(cause);

   }

 

}

2.继承RuntimeException的构造器;

publicclass test11 {

   publicstaticvoidmain(String[] args) {

             buyItem();

   }

  

   /**

    * 自己处理的方法

    * 编译期的异常处理不是抛出就是自己处理

    */

   publicstaticvoid buyItem(){

         intstock = 0;

         if (stock == 0) {

           //我们主动抛出异常

           thrownewStockException("库存不足");

         }

      }

}

运行结果

 

最后

以上就是等待黑夜为你收集整理的java编译期的异常处理和自定义异常的全部内容,希望文章能够帮你解决java编译期的异常处理和自定义异常所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部