Java:class7 异常处理,接口

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_43336822/article/details/95599019

异常处理

一、异常分为ERROR(不可处理异常)和Exception(可处理异常):Throwable->ERROR,Exception
而Exception分有编译期异常和运行期异常。
1.运行期异常
1).NullPointerException 空值异常
2).ArithmeticException 除以0的异常
3).InputMismatchException 输入的异常
4).ArrayIndexOutOfBoundsException 数组下标越界异常
5)InterruptedException 中断异常
2.编译期异常
1).FileNotFoundException 文件未找到异常

二、

try{
                      //一条或多条可能会发生异常的代码块
                        }catch( ArrayIndexOutOfBoundException e)
                                {
                                   // e.printStackTrace();
                                    System.out.println("下标越界");
                       }catch(ArithmeticException e)
                                {
                                    System.out.println("除零错误");
                                            }

1.一个try对应一个或多个catch,关心的异常要具体catch一下,不关心的不要细化分异常,不然显得很乱
不关心的笼统写一个公共异常即可:catch(Exception e){},即用父类接受,体现了向上造型(向上造型:基类的引用派生类的对象)
2. 一个catch到,后面的catch就不继续抓了,也就是try中前面的代码已经被抓住了异常,后面的语句就不继续执行了。

3.finally{}:catch完后或者没有catch都必须执行的语句(无论是否发生异常,都会被执行的语句 ),一个try对应一个finally。
可以应用到文件中,即是否文件执行任务是否失败,都可以将文件关闭。

4.try块return之前调用finally块,从finally返回。也就是无论发生什么情况,finally必定会被执行。

三、throws:扔异常类

   public void fun() throws Exception{
                int a=10/0;}
  
   public static void main(Stirng[]args){
            try{
                        fun();

                }catch(Exception e){
                         e.printStackTrace();
                         }
         }

四、throw :扔异常对象

  public static void fun(int[] arr){
          if(arr == null)
              throw new NullPointerException();
}

五、自定义异常
class MyException extends Exception()

六、退出
1.return

2.System.exit() : 程序从main主函数退出,显示()中数字。//系统默认正常退出返回0,异常返回负数。

接口

  1. 接口:常量public static final
  2. 接口没有构造方法,不能实例化
  3. 接口中只能有抽象方法,即不能有函数体。
  4. 类和类是extends继承的关系。
  5. 类和接口是implements实现接口中的所有抽象方法。
  6. 类实现了一个接口,必须全部实现接口中的抽象方法 。
  7. 接口和接口:继承关系。接口可以多实现class C implements A,B,D,此时类C必须实现所有接口的抽象方法。
  8. Thread.sleep(10000):进程睡10秒

猜你喜欢

转载自blog.csdn.net/qq_43336822/article/details/95599019
今日推荐