2022-07-29 第八小组 学习笔记

目录

异常

异常体系

Error:系统级别问题、JVM退出等,代码无法控制。

Exception: java.lang包下,称为异常类,它表示程序本身可以处理的问题

常见的运行时异常

​编辑编译时异常

异常的默认处理流程(不好)

异常的处理机制

编译时异常的处理形式有三种

异常处理方式1—— throws

异常处理方式2——try...catch...

异常处理方式3——前两者结合

运行时异常处理机制

异常处理代码更稳健的案例

自定义异常

自定义编译时异常

自定义运行时异常

Throw和throws的区别

finally关键字

总结

今日分享


异常

异常是程序在“编译”或者“执行”的过程中可能出现的问题,注意:语法错误不算在异常体系中。

比如:数组索引越界、空指针异常、数字转换异常、日期格式化异常、类型转换异常、算数异常(数学异常)


异常体系

Error:系统级别问题、JVM退出等,代码无法控制。

Exception: java.lang包下,称为异常类,它表示程序本身可以处理的问题

RuntimeException及其子类运行时异常(运行时出现的异常),编译阶段不会报错。(空指针异常,数组索引越界异常)

除RuntimeException之外所有的异常编译时异常(编译时出现的异常),编译期必须处理的,否则程序不能通过编译。(日期格式化异常)。

常见的运行时异常

运行时异常:直接继承自RuntimeException或者其子类,编译阶段不会报错,运行时可能出现的错误。

数组索引越界异常:ArraylndexoutOfBoundsException
空指针异常:NullPointerException,直接输出没有问题,但是调用空指针的变量的功能就会报错。
数学操作异常:ArithmeticException
类型转换异常:ClassCastException
数字转换异常:NumberFormatException

 数组索引越界异常ArraylndexoutOfBoundsException

  //数组索引越界异常:ArraylndexoutOfBoundsException
public static void main(String[] args) {
        int arr[] = {10, 20, 30};
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[3]);
      }
}

注意:把后报的错误放到上面,先进的在下面,后进的在上面,后进先出是栈。因此是异常栈信息。

空指针异常NullPointerException,直接输出没有问题,但是调用空指针的变量的功能就会报错。

//空指针异常:NullPointerException,直接输出没有问题,但是调用空指针的变量的功能就会报错。
 
public class Cjiande {
   public static void main(String[] args) {
        System.out.println("开始");
     //空指针异常:NullPointerException,直接输出没有问题,但是调用空指针的变量的功能就会报错。
        String name=null;
        System.out.println(name);//没问题
        System.out.println(name.length());
    }

}

数学操作异常:ArithmeticException

  //数学操作异常:ArithmeticException
int num1 = 10/0;

类型转换异常ClassCastException

       //类型转换异常
         Object O=23;
        String a= (String) O;

 数字转换异常:NumberFormatException

String s="122";
        Integer integer=Integer.valueOf(s);
        System.out.println(integer);//正常输出

  System.out.println("-----------------------");

//数字转换异常:NumberFormatException
String s="122ass";
        Integer integer=Integer.valueOf(s);//运行出错,程序终止
        System.out.println(integer);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值