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

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

                                                              

科普

知识

前言

    最近忙于论文,停更了三周,后面可能也会不定期的更新。本周开始我们就来学习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常见非运行时异常和运行时异常的类型及其说明

四、实战


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

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

END

小编有话说

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

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

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

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

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

扫码关注我们

更多精彩等待你发现

在看你就赞赞我!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值