异常分析

 

一、请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识。

(1)源代码;import javax.swing.*;

 

class AboutException {

   public static void main(String[] a) 

   {

      int i=1, j=0, k;

      k=i/j;

 

 

try

{

 

k = i/j;    // Causes division-by-zero exception

//throw new Exception("Hello.Exception!");

}

 

catch ( ArithmeticException e)

{

System.out.println("0.  "+ e.getMessage());

}

 

catch (Exception e)

{

if (e instanceof ArithmeticException)

System.out.println("0");

else

{  

System.out.println(e.getMessage());

 

}

}

 

 

finally

     {

      JOptionPane.showConfirmDialog(null,"OK");

     }

 

  }

}

 

(2)j截图:

二、阅读以下代码(CatchWho.java),写出程序运行结果:

1)源代码:public class CatchWho { 

    public static void main(String[] args) { 

        try { 

             try { 

                 throw new ArrayIndexOutOfBoundsException(); 

             } 

             catch(ArrayIndexOutOfBoundsException e) { 

                System.out.println(  "ArrayIndexOutOfBoundsException" +  "/内层try-catch"); 

             }

 

            throw new ArithmeticException(); 

        } 

        catch(ArithmeticException e) { 

            System.out.println("发生ArithmeticException"); 

        } 

        catch(ArrayIndexOutOfBoundsException e) { 

           System.out.println(  "ArrayIndexOutOfBoundsException" + "/外层try-catch"); 

        } 

    } 

}

(2)结果:

1)源代码:public class CatchWho2 { 

    public static void main(String[] args) { 

        try {

             try { 

                 throw new ArrayIndexOutOfBoundsException(); 

             } 

             catch(ArithmeticException e) { 

                 System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch"); 

             }

            throw new ArithmeticException(); 

        } 

        catch(ArithmeticException e) { 

            System.out.println("发生ArithmeticException"); 

        } 

        catch(ArrayIndexOutOfBoundsException e) { 

            System.out.println( "ArrayIndexOutOfBoundsException" + "/外层try-catch"); 

        } 

    } 

}

(2)结果:   

三、当有多个嵌套的trycatchfinally时,要特别注意finally的执行时机。

当有多层嵌套的finally时,异常在不同的层次抛出 ,在不同的位置抛出,可能会导致不同的finally语句块执行顺序。

finally语句块一定执行

四、编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”、“及格”、“中”、“良”、“优”的结论。

要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都不会崩溃。

源代码:package dijia;

import java.util.Scanner;

 

public class Test {

 

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

 

double chengji;String b;

 

try{

 b = s.next();

throw new ArithmeticException(); 

 

}

catch(ArithmeticException e){

System.out.println("不及格、及格、中、良、优");

}

 

}

 

}

(1)

(2)截图;                     

 

                               

转载于:https://www.cnblogs.com/anheidijia-123/p/6103213.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux c之wait和waitpid函数的用法和总结

1、wait和waitpid函数的介绍 1) wait()函数用于使父进程(也就是调用wait()的进程)阻塞,直到一个子进程结束或者该进程接收到了一个指定的信号为止。如果该父进程没有子进程或者它的子进程已经结束,则wait()函数就会立即返回。 2) waitpid()的作用和wait()一样,但它并不一…

微软开发者的年度回顾

2021 年 .NET 和 Microsoft 开发人员的技术都发生了什么?很难从 2021 年只选择一个主题。安静的进化?开源的争议?一个让开发人员疑惑的操作系统更新?当我回头看时, 发现一年发生了很多事情, 2021 年的发展是稳步向前的&#xff0c…

我是永远不可能出轨的,除非......

1 当爸妈学会了抠图(素材来源豆瓣,侵删)▼2 帮我带瓶我平时常喝的水(素材来源网络,侵删)▼3 我们是被资本凑在一起的联姻(素材来源网络,侵删)▼4 我是不会出轨的&…

linux之学习linux系统相关的书籍

1.《鸟哥的Linux私房菜-基础学习篇》 2.《Linux Shell 脚本攻略》 3.《Unix环境高级编程》 4.《Linux系统编程》

16岁上大学,25岁博士毕业,她还是南大医学院最年轻的博导!

全世界只有3.14 % 的人关注了爆炸吧知识本文转自:募格学术魏嘉,16岁考上南大,25岁博士毕业,是南大医学院最年轻的博导,已在J Natl Cancer Inst等国际著名杂志上发表64篇SCI论文。在第24届“中国青年五四奖章”入围名单…

十年整理CAD精髓

为什么80%的码农都做不了架构师?>>> AUTOCAD使用心得之一 使用的三个基本方面:清晰、准确、高效 目前,公司的设计文件,特别是图纸,都是用AUTOCAD软件绘制的。但是,现在还有很多人对CAD并不是…

使用这个库,让你的服务操作 Redis 速度飞起

点击上方蓝字关注 👆👆没领红包封面的可以在文末领取大多数人使用 Redis 作为远程缓存存储,因为它速度快。Redis6 通过消除不必要的网络往返,可以使其更快。服务器辅助的客户端缓存这个方法很简单。Redis6 会记录客户端请求的键值…

mysql bigint转string_无语了,直到今天,我才揪出MySQL磁盘消耗迅猛的“真凶”!...

作者:dbapower链接:https://blog.51cto.com/suifu/2135599背景Part1:写在最前当一张单表10亿数据量的表放在你面前,你将面临着什么?Part2:背景介绍为了提升数据库资源利用率,一个实例中,在不互相影响&#…

mysql导入sql脚本命令

2019独角兽企业重金招聘Python工程师标准>>> 使用mysql自带的命令行工具导入sql脚本如下&#xff1a; mysql -h localhost -u root -proot -v -Ddbname < dbname.sql 转载于:https://my.oschina.net/u/2450094/blog/795488

媒体层图形技术之AssetsLibrary 学习笔记

choudang的专栏转载自 http://m.blog.csdn.net/blog/choudang/28274519 1.ALAsset ALAsset类代表相册中的每个资源文件&#xff0c;可以通过它获取资源文件的相关信息还能修改和新建资源文件 Asset Properties – valueForProperty: (1.ALAssetPropertyType 资源的类型&…

jenkins构建触发器定时任务

接上篇Jenkins发布.Net项目到IIS前面说到了把项目部署到iis,那么这边有个问题就是这个部署的触发条件是手工还是需要自动的呢。我觉得这个的看具体的场景&#xff0c;假设团队人员比较多&#xff0c;不断的在提交代码到指定分支&#xff0c;如果是自动化的话&#xff0c; 那么基…

JavaScript基于对象编程

2019独角兽企业重金招聘Python工程师标准>>> JavaScript基于对象编程 1、JavaScript变量/函数声明在代码执行之前被解析&#xff0c;并且变量声明优先级高于函数声明。 代码片段&#xff1a; 1234567var flag test in window;if (!flag){ var te…

idae 安装的插件怎么删掉_X7 IE阻止我安装插件怎么办

为了在网页上表现多彩的多媒体内容&#xff0c;很多网站会要求我们装上相应的网页插件来实现。但IE的默认安全设置会阻止我们进行安装某些网页插件。可是如果不装的话&#xff0c;网页很多媒体的内容就会显示不出来。怎么办呢&#xff1f;其实我们可以调整IE的安全设定来解决。…

MongoDB基本管理命令

2019独角兽企业重金招聘Python工程师标准>>> MongoDB是一个NoSQL数据库系统&#xff1a;一个数据库可以包含多个集合&#xff08;Collection&#xff09;&#xff0c;每个集合对应于关系数据库中的表&#xff1b;而每个集合中可以存储一组由列标识的记录&#xff0c…

花季少女竟然有个三年级老公??!

1 不能直视咖啡了&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 不理外国人的后果&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 猫占鸡巢&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 律师有什么坏心思呢&#xff1f;&#xff08;素材…

dotnet-httpie 0.2.0 Released

dotnet-httpie 0.2.0 ReleasedIntrodotnet-httpie 是类 httpie 的一个调用 HTTP API 的小工具&#xff0c;可以帮助我们快速测试 API&#xff0c;语法和 httpie 基本一样。第一个版本发布之后&#xff0c;做了一些重构&#xff0c;使用 System.CommandLine 重写了对于 Option 的…

黑色边影,

多次 设置frame,并用了动画&#xff0c; [UIViewbeginAnimations:nilcontext:nil]; [UIViewsetAnimationDelegate:self]; [UIViewsetAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]]; [UIViewsetAnimationDuration:[[…

分子模拟软件amber_容天AMBER优化的GPU解决方案

AMBER认证的GPU系统AMBER认证GPU系统提供商容天更快地运行MD仿真容天与AMBER的主要开发商合作开发了交钥匙解决方案&#xff0c;为GPU加速的生物分子模拟提供增值系统。经过验证的系统&#xff0c;每个用户的CPU&#xff0c;GPU&#xff0c;内存和存储具有适当的平衡。从工作站…