Java学习历程之----异常处理篇(一)

    后面将会陆续介绍几个常见的NP完全问题,本周先介绍一些范式的基本知识方便大家后续理解,这些内容枯燥且难于理解,如果有兴趣的话欢迎随时与小编讨论,小编也在线学习中...

Java学习历程之----异常处理篇(一)_第1张图片

Java学习历程之----异常处理篇(一)_第2张图片

                                                              

前言

    最近忙于论文,停更了三周,后面可能也会不定期的更新。本周开始我们就来学习Java的异常处理篇,在程序设计和运行的过程中,发生错误是不可避免的,但Java 提供了异常处理机制来帮助程序员检查可能出现的错误,以保证程序的可读性和可维护性。Java 将异常封装到一个类中,出现错误时就会拋出异常。

一、异常

    异常exception是在运行程序时产生的一种异常情况,是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类,这可以让程序具有极好的容错性且更加健壮。Java中把生成异常对象,并把它提交给运行时系统的过程称为拋出(throw)异常。运行时系统在方法的调用栈中查找,直到找到能够处理该类型异常的对象,这一个过程称为(catch)异常。

二、产生异常的原因

在 Java 中一个异常的产生,主要有如下三种原因:

1.Java 内部错误发生异常,Java 虚拟机产生的异常。

2.编写的程序代码中的错误所产生的异常,例如空指针异常、数组越界异常等。

3.通过 throw 语句手动生成的异常,一般用来告知该方法的调用者一些必要信息。

三、异常类型

    为了能够及时有效地处理程序中的运行错误,Java 专门引入了异常类。在 Java 中所有异常类型都是内置类 java.lang.Throwable 类的子类,即 Throwable 位于异常类层次结构的顶层。Throwable 类下有两个异常分支 Exception(其中Exception又包含运行时异常和非运行时异常)和 Error。

01

Exception 类用于用户程序可能出现的异常情况,它也是用来创建自定义异常类型类的类。

02

Error 定义了在通常环境下不希望被程序捕获的异常。一般指的是 JVM 错误,如堆栈溢出。(Error 类型的异常通常是致命性错误,不是程序可以控制的,我们在本章中不予讨论)

下面给出Java常见非运行时异常和运行时异常的类型及其说明

Java学习历程之----异常处理篇(一)_第3张图片

Java学习历程之----异常处理篇(一)_第4张图片

四、实战


下面的示例代码实现了允许用户输入正常的年龄范围,其他情况提示输入错误。

package code.yichang;
import java.util.Scanner;
public class exception {
    public static void main(String[] args) {
        System.out.print("请输入您的年龄:");
        Scanner input = new Scanner(System.in);
        int num = input.nextInt();
            if (num>0 && num<130){
                System.out.println("输入正确!");
            }else {
                System.out.println("请重新输入!");
            }
        }
    }

    正常情况下,用户会输入0-130之间的数字。但若用户没有按要求进行输入,例如输入了除数字之外的其它字符,则程序在运行时将会发生异常,结果分别如下所示:

Java学习历程之----异常处理篇(一)_第5张图片

END

小编有话说

    愉快的假期又接近尾声,秋天已经来临,新的一学年又将开启,希望在新的一学年里,大家都能勇往直前,不负韶华。

编辑:玥怡居士|审核:世外居士

●Java学习历程之----提升总结篇(十三)

●Java学习历程之----提升篇(十二)

●Java学习历程之----提升篇(十一)

扫码关注我们

更多精彩等待你发现

在看你就赞赞我!

你可能感兴趣的:(编程语言,jvm,java,css,js)