• 异常分类,异常抛出位置


    异常(Exception)

      在Java中用类的形式对不正常进行描述和封装对象,描述不正常的情况的类成为以异常类。并且将正常代码流程和问题处理代码相分离,提高了阅读性。

      问题很多,意味着描述的类也很多,将其进行向上概括抽取,形成异常体系。

    Throwable:无论是Error还是异常都能在问题发生时抛出,让调用者知道并处理

    (一)、一般不可处理的,Error;

    (二)、可处理的,Exception。

       class FushuIndexExexception extends Exception

    {

        FushuIndexExexception()

        {}

    }//自己定义的函数

    class Demo                        

    {                                                     

        public int method(int []arr ,int index) throws FushuIndexExexception//在函数标注处用throws,表示抛出

        {

            if(index>=2)    

            {                          

                throw new NullPointerException("数组的引用不能为空");//在函数内注处用throws,表示抛出

            }

            if(index<= 0)

            {

                throw new FushuIndexExexception();

            }

            return index;

        }

     

       

    }                                                  

    public class text {                                  

       public static void main(String[] args) throws FushuIndexExexception//在函数标注处用throws,表示抛出

       {   int []arr=new  int[20];

            Demo d=new Demo();

           int num=d.method(arr,-10);

           System.out.println(num);

    }

    }

    异常的分类:

    (一)编译时被检测到异常:只要是Exception和其子类都要,除了特殊子类RuntimeException体系;

    (这种问题在一出现实,希望在编译时被检测,让这种问题有对应的处理方式)

    (二) 编译时检测不到异常(运行时检测到异常):就是Exception中的RuntimeException和其子类;(这种问题的发生无法让功能继续,运算无法进行,更多是因为调用的原因造成的,或者引发内部状态的改变导致的,这种问题一般不处理,让编译通过,让编译时强行停止,进行编码修改)

    在自定义异常时,要么继承Exception,要么继承RuntimeException

    throws和throw的区别:

    1. throw使用在函数内;

    throws使用在函数上;

    1. throws抛出异常类,可以抛出多个,用逗号隔开;

    throw抛出的是异常对象

  • 相关阅读:
    golang map的判断,删除
    Golang 嵌套map赋值办法
    Android 手势锁的实现 让自己的应用更加安全吧
    HTML5 CSS3 诱人的实例 : 网页加载进度条的实现,下载进度条等
    MyEclipse代码提示设置
    Linux内核参数优化
    CDH配置使用介绍
    Hadoop Hive HBase调优
    Redis数据类型
    Redis性能问题排查解决手册
  • 原文地址:https://www.cnblogs.com/lujun1949/p/5461115.html
Copyright © 2020-2023  润新知