Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 345|回复: 0

Java语言程序设计 上机实验5 异常

[复制链接]
  • TA的每日心情
    奋斗
    2024-4-6 11:05
  • 签到天数: 748 天

    [LV.9]以坛为家II

    2034

    主题

    2092

    帖子

    70万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    705612
    发表于 2021-5-8 21:03:03 | 显示全部楼层 |阅读模式

    Java语言程序设计 上机实验5

    实验目的

    理解异常的概念,掌握Java的异常处理机制、常见异常的捕获方法、自定义异常及其抛出和捕获方法。

    实验内容:

    1. 常见异常的捕获:

    编写一个程序,分别生成ArrayIndexOutOfBoundsException类型和NumberFormatException类型的异常;然后改写程序,对这两种类型的异常进行捕获并合理地处理。

    另外,思考并回答问题:能否0同时抛出ArrayIndexOutOfBoundsException类型和NumberFormatException类型的异常?为什么?

    1. 自定义异常的定义、拋出和捕获:

    (1) 自定义两个异常类:非法姓名异常IllegaNameException和非法地址异常IllegalAddressException

    (2) 定义Student类包含NameAddress属性,和setNamesetAddress方法,当姓名长度小于1或者大于5时抛出IllegaNameException,当地址中不含有“省”或者“市”关键字时抛出IllegalAddressException

    (3) 编写程序抛出这两种异常,在main方法中进行捕获并合理地处理。

    实验要求:

    1. 在实验报告中给出程序运行结果截图。

    2. 源程序代码附到实验报告的最后。

    3. 认真填写实验报告并妥善存档,在上机实验课之前发送电子版实验报告至 wsycup@foxmail.com

    注意邮件标题附件实验报告文件名均为:

    Java1实验报告N_学号_姓名

    其中N为阿拉伯数字,指第几次实验,例如

    Java1实验报告3_ 2012010400_李雷

    请严格按照规定的格式发送邮件(注意标题中Java”后的数字“1”)邮件标题不符合格式要求等同于未交作业,并在规定的时间发送实验报告邮件,过期无效。

    4. 实验报告雷同者将不能得到相应的平时分。

     

     

    附录:实验报告

    实验题目__实验5________

    学号__2014011329__    姓名___许恺____     班级___计算机14-1___     时间____________

    实验题目解答

    一.

     

    二.

     

    :源程序

    一.

    package com.Test5;
    
    public class Test5 {
    
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int a[]=new int[8];
            int b;
            try{
                for(int i=0;i<10;i++){
                    System.out.println(a);
                }
            }
            catch(ArrayIndexOutOfBoundsException e){
                System.out.println("数组越界");
            }
            try{
                b=Integer.parseInt("23gf");
            }
            catch(NumberFormatException e){
                System.out.println("类型格式转换错误");
            }
        }
    }
    
    二.Test55.java    
    package com.Test55;
    
    public class Test55 {
    
        /**
         * @param args
         * @throws IllegalAddressException 
         * @throws IllegaNameException 
         */
        public static void main(String[] args) throws IllegalAddressException, IllegaNameException {
            // TODO Auto-generated method stub
            Student s=new Student() ;
            s.setName("测试姓名字符串");
            s.setAddress("测试地址字符串");
        }
    
    }
    
    Student.java
    package com.Test55;
    
    public class Student {
        String Name;
        String Address;
        public void setName(String Name)throws IllegaNameException{
            if(Name.length()<1||Name.length()>5)
                throw new IllegaNameException(Name+",长度出错,应在1-5之间。");
            this.Name=Name;
        }
        public void setAddress(String Address)throws IllegalAddressException{
            boolean j=false;
            for(int i=0;i<Address.length();i++){
                if(Address.charAt(i)=='省'||Address.charAt(i)=='市'){
                    j=true;
                    break;
                }
                    
            }
            if(j==false){
                throw new IllegalAddressException(Address+"中没有‘省’或‘市’出现,请修正");
            }
            this.Address=Address;
        }
    }
    
    IllegaNameException.java
    package com.Test55;
    
    public class IllegaNameException extends Exception {
        public  IllegaNameException(){
            super();
        }
        public  IllegaNameException(String s){
            super(s);
        }
    }
    
    IllegalAddressException.java
    package com.Test55;
    
    public class IllegalAddressException extends Exception {
        public IllegalAddressException(){    
            super();
        }
        public IllegalAddressException(String s){    
            super(s);
        }
    }

    心得和体会:

    对于异常的处理经过编程之后才明白他的含义和用法,遵循java中的规则,只是提供一个建立异常的平台,定义也是在外面,之前理解错误了,以为新建异常都是在一个类中,对我很有帮助。

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-20 01:14 , Processed in 0.123771 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表