实验六 异常处理

  • 实验目的及要求

目的:了解异常的概念,掌握异常处理的方法,掌握throws与throw关键字的区别与联系,掌握自定义异常的方法及用途。

要求:

(1)编写程序了解程序中可能出现的运行时异常与非运行时异常

(2)编写程序使用try-catch-finally处理异常

(3)编写程序掌握throws与throw的用法

(4)理解系统异常处理的机制和创建自定义异常的方法

二、实验环境

计算机一台,JDK,EditPlus

三、实验原理

异常处理方法

四、实验内容与步骤

1. 文件操作异常(分析该程序存在哪些运行时异常和非运行时异常,并将程序改正确)

2. 数组下标越界异常(找到程序中的异常,并将其改正)

3.try-catch-finally处理异常过程

4.抛出异常(注意该程序与之前的Exception1出现的异常的异同)

5. 捕获异常(在Exception1的基础上加上捕获异常,观察程序运行结果)

6. try-catch-finally嵌套

7. 自定义异常调用

. 实验完成项目

(1)程序功能:通过继承Exception异常类,创建一个自定义异常类MyException,然后再创建一个主类,使用自定义异常类MyException。

(2)在编写程序过程中,如果希望一个字符串的内容全部是英文字母,若其中包含其他的字符,则抛出一个异常。因为在Java内置的异常类中不存在描述该情况的异常,所以需要我们自定义该异常类。

a.创建MyException异常类,此部分要求读者自己编写。

b.创建Exercise5_5类,在此类中创建一个带有String型参数的方法check(),该方法用来检查参数中是否包含英文字母以外的字符。若包含,则通过throw抛出一个MyException异常对象给check()方法的调用者main()方法。此部分代码已给出,要求根据下面的代码写出自定义类MyException的代码。

public class Exercise5_5 {

    public static void check(String str) throws MyException { //指明要抛出的异常

        char a[] = str.toCharArray(); //将字符串转换为字符数组

        int i = a.length;

        for (int k = 0; k < i - 1; k++) { //检查字符数组中的每个元素

            //如果当前元素是英文字母以外的字符

            if (!((a[k] >= 65 && a[k] <= 90) || (a[k] >= 97 && a[k] <= 122))) {

                //抛出MyException异常类对象

                throw new MyException("字符串\"" + str + "\"中含有非法字符!");

            }

        }

    }

    public static void main(String[] args) {

        String str1 = "HellWorld";

        String str2 = "Hell!MR!";

        try {

            check(str1); //调用check()方法

            check(str2); //执行该行代码时,抛出异常

        } catch (MyException e) { //捕获MyException异常

            System.out.println(e.getContent()); //输出异常描述信息

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫一样的女子245

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值