java之异常接口

接口

  • 接口:关键字interface

接口的特点:

1:接口不能直接创建对象,但是可以创建数组

2:接口通常是用来被类实现的,使用关键字implements,实现之后,需要重写接口中的所有抽象方法,如果不想重写,将自己变成抽象类

3:接口中只能存放常量和抽象方法

4:接口中默认的访问权限是public也只能是public

5:接口可以多继承接口

6:接口可以被类多实现(也就是一个类可以实现多个接口),使用逗号隔开

7:如果又有继承又有实现,应该先继承,在实现

- 接口的作用

1:做功能的拓展
2:作为父类统一数据类型

异常

  • 异常:异常是指在程序运行过程中发生的不正常事件

  • throwable,error,exception的区别?
    1--->error和exception都是throwable派出生的两个子类
    error指的是靠程序本身无法恢复的严重错误,例如:内存溢出等
    exception指的是由java应用程序抛出和处理的严重性错误,例如:文件未找到等

    2--->throw和throws的区别
    throw表示在方法中抛出异常对象的
    throws表示在方法的后面声明抛出的异常类型的

throw和throws通常是成对出现的,但是如果throw的是RuntimeException或者是他的子类异常,则不需要在方法后面throws
  • 注意:实际开发中什么情况下需要使用try-catch
    当一个方法中throw了一个异常对象,并且在方法后面使用throws声明了异常类型,那么在调用该方法思维时候,就需要添加try-catch(也可以不捕获,选择继续throws抛出去)

- try-catch语句块

格式1;
try{预计会抛出异常的代码块
}catch(能够捕获异常类型){如果发生异常,处理的代码块;}

格式2:
try{
预计会抛出异常的代码块;
}catch(异常类型1){
处理的代码块1
}catch(异常类型2){
处理的代码块2
}
...
catch(异常类型n){
处理的代码块n
}

格式3:
try{
预计会抛出异常的代码块;
}finally{
无论如何都一定会执行的代码块;
}

  • finally通常是用来关闭流或者是某些连接的(数据库连接等)
  • finally可以直接接在try的后面,此时就不能再有catch了
  • finally还可以直接接最后一个catch的后面

### system.exit(数字):是唯一让finally不再执行的代码块

注意:格式2中的catch可以有多个,但是越往后面catch中捕获的异常类型越大,越要比前面的异常类型要大

例如图片格式:

image

常见异常

  • classcastException:类型转换异常
  • NullPointerException:空指针异常

  • ArrayIndexOutOfBoundsException:下标越界异常 $

  • ClassNotFoundException:类没有找到异常 -->不属于运行时异常(属于checked异常:非运行时异常) $
  • ClassCastException:类转换异常
  • NumberFormatException:数字转换异常 $
  • IllegalArgumentException:接收到非法参数 $
  • InputMismatchException:输入不匹配异常
  • ArithmeticException:算术异常
  • RuntimeException:运行时异常 $
  • SQLException:数据库的语句异常 $
  • Exception异常分两种
    1:运行时异常
    2:非运行时异常

自定义异常

-原有的程序自带的异常类型如果不匹配,我们还可以自己定义相关的异常类型
自定义异常的步骤:
1->自定义一个异常
2->继承Exception
3->重写相关的Exception中所有的方法(实际上就是构造方法,复制过来改成自己定义类的名字)

posted @ 2022-09-20 11:39  梦梦想睡觉  阅读(272)  评论(0编辑  收藏  举报