Java:class7 异常处理,接口

异常处理

一、异常分为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秒
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值