1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Java学习笔记七十三(异常处理:运行时异常 编译时异常 异常的默认处理的流程)

Java学习笔记七十三(异常处理:运行时异常 编译时异常 异常的默认处理的流程)

时间:2021-12-26 06:34:41

相关推荐

Java学习笔记七十三(异常处理:运行时异常 编译时异常 异常的默认处理的流程)

Java学习笔记七十三(异常处理:运行时异常、编译时异常、异常的默认处理的流程)

一、异常体系

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

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

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

二、运行时异常

编译阶段不会报错,运行时可能出现的错误

一般是程序员业务没有考虑好或者是编译逻辑不严谨引起的程序错误

示例运行时异常

package com.itheima.d4_exception_runtimeException;/**拓展: 常见的运行时异常。(面试题)运行时异常的概念:继承自RuntimeException的异常或者其子类,编译阶段是不会出错的,它是在运行时阶段可能出现的错误,运行时异常编译阶段可以处理也可以不处理,代码编译都能通过!!1.数组索引越界异常: ArrayIndexOutOfBoundsException。2.空指针异常 : NullPointerException。直接输出没有问题。但是调用空指针的变量的功能就会报错!!3.类型转换异常:ClassCastException。4.迭代器遍历没有此元素异常:NoSuchElementException。5.数学操作异常:ArithmeticException。6.数字转换异常: NumberFormatException。小结:运行时异常继承了RuntimeException ,编译阶段不报错,运行时才可能会出现错误!*/public class ExceptionDemo {public static void main(String[] args) {System.out.println("程序开始。。。。。。");/** 1.数组索引越界异常: ArrayIndexOutOfBoundsException。*/int[] arr = {1, 2, 3};System.out.println(arr[2]);// System.out.println(arr[3]); // 运行出错,程序终止/** 2.空指针异常 : NullPointerException。直接输出没有问题。但是调用空指针的变量的功能就会报错!! */String name = null;System.out.println(name); // null// System.out.println(name.length()); // 运行出错,程序终止/** 3.类型转换异常:ClassCastException。 */Object o = 23;// String s = (String) o; // 运行出错,程序终止/** 5.数学操作异常:ArithmeticException。 *///int c = 10 / 0;/** 6.数字转换异常: NumberFormatException。 *///String number = "23";String number = "23aabbc";Integer it = Integer.valueOf(number); // 运行出错,程序终止System.out.println(it + 1);System.out.println("程序结束。。。。。");}}

三、编译时异常

不是RuntimeException或者其子类的异常,编译阶段九报错,必须处理,否则代码不通过

1、是担心程序员的技术不行,在编译阶段就报出一个错误,目的在于提醒不要出错

2、编译时异常是可遇而不可求

四、异常的默认处理的流程

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。