1.

程序执行结果:

也就是它根本就没抛出异常,更别提捕获异常了。那么,为什么会这样呢?

原来,

如上面程序展示,程序运行到k=i/j;的时候,就会直接终止,根本就不会运行到监视的程序,更不会运行到捕获的程序。

结论:程序出错后,会自动终止,根本不会继续往下运行的。

当把上面几行代码注释掉之后,结果就会一切正常。

结果截图:

可以看到,不光是catch里的,就连finally里的也都正常执行了。

2.

为什么把类型改成double就会没事了呢?

原因是double类型的变量在做除法运算时,是允许除数为零的。

3.

预测的结果:

ArrayIndexOutOfBoundsException/内层try-catch
发生ArithmeticException

4.

预测结果:ArrayIndexOutOfBoundsException/外层try-catch

5.

运行结果截图:

前三个是顺序执行try里的语句,当第三个try里出现异常时,调到catch语句里,执行catch里的语句,

执行完catch之后,再顺序执行下面的语句,finally被执行,

再往下,

由于没有异常了,所以,跳过catch,执行了后面的finally,

直到最后。

结论:有异常时,就会立刻跳出,寻找catch语句处理异常,

一旦异常被处理好之后,那么,其余的catch语句就不会再被执行,

但是,finally语句是无论有没有异常都会执行的语句,

当然这也不是绝对的。

6.

finally并不是所有情况都执行的,

经过我上网查资料,得知finally不执行的几种情况:

1)在finally语句块中发生了异常。
2)在前面的代码中用了System.exit()退出程序。
3)程序所在的线程死亡。
4)关闭CPU。

7.

源程序:

class IllegalFormat extends Exception{
//输入的分数格式不正确
IllegalFormat(String m){
super(m);
}
} public class ShuZu { public static void main(String[] args) throws IllegalFormat { // TODO Auto-generated method stub int control=1; System.out.println("请输入分数:");
Scanner input= new Scanner(System.in);
String score=new String (); //分数
score=input.next(); // 输入分数 char score1[]=new char [100]; score1=score.toCharArray(); int i; while(control==1){ try{ for( i=0;i<score.length();i++){ if(score1[i]<48||score1[i]>57){ throw new IllegalFormat("您输入的分数格式不正确,应为整数格式,请重新输入:"); } }
control=0;
}
catch(IllegalFormat e){
System.out.println(e);
score=input.next();
score1=score.toCharArray();
}
} int score2=Integer.parseInt(score); System.out.println("这个同学:"); if(score2>=0&&score2<60){
System.out.println("不及格。");
}
else if(score2>=60&&score2<70){
System.out.println("及格。");
}
else if(score2>=70&&score2<80){
System.out.println("中。");
}
else if(score2>=80&&score2<90){
System.out.println("良");
}
else if(score2>=90){
System.out.println("优。");
}

程序结果截图:

09-JAVA中的异常处理的更多相关文章

  1. Java中实现异常处理的基础知识

    Java中实现异常处理的基础知识 异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象. 例如:数组越界和被0除. ...

  2. java 中的异常处理

    一. 异常的概念和Java异常体系结构  异常是程序运行过程中出现的错误.本文主要讲授的是Java语言的异常处理.Java语言的异常处理框架,     是Java语言健壮性的一个重要体现. Java把 ...

  3. 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架

    前言 大家好,给大家带来详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架的概述,希望你们喜欢 JAVA 异常 try...catch...finally结构的使用方法 class Tes ...

  4. Java中的异常处理:何时抛出异常,何时捕获异常,何时处理异常?

    Java中的异常处理:何时抛出异常,何时捕获异常? 2017-06-07 1 异常分类 Throwable对象可以分为两组: 一组是unchecked异常,异常处理机制往往不用于这组异常,包括: Er ...

  5. 深入了解 Java 中的异常处理 + 面试题

    # 深入了解 Java 中的异常处理 + 面试题 在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一些知识点.比如,try-catch 处理要遵循的原则是什么,finall ...

  6. [Java] java中的异常处理

    Java中的异常类都继承自Throwable类.一个Throwable类的对象都可以抛出(throw). Throwable对象可以分为两组.一组是unchecked异常,异常处理机制往往不用于这组异 ...

  7. 【转】Java中关于异常处理的十个最佳实践

    原文地址:http://www.searchsoa.com.cn/showcontent_71960.htm 导读:异常处理是书写强健Java应用的一个重要部分,Java许你创建新的异常,并通过使用 ...

  8. Java 中的异常处理机制

    生活中的异常:  不能够完整而顺利的完成一些工作 根据不同的异常进行相应的处理,而不会就此终端我们的生活 引出:  异常处理: 方式:  1.选择结构(逻辑判断)避免 demo:if逻辑处理异常 im ...

  9. Java中的异常处理从概念到实例

    1.概念 采用新的异常处理机制 在以往的程序开发过程中,经常采用返回值进行处理.例如,在编写一个方法,可以返回一个状态代码,调用者根据状态代码判定出错与否.若状态代码表示一个错误,则调用这进行相应的处 ...

  10. 初探Java中的异常处理

      Java中的异常有以下几种: 1) Error:Java运行时的内部错误. 2) Exception:程序中应该捕获的异常.          RuntimeException:因为编程产生的错误 ...

随机推荐

  1. mysql优化笔记

    query_cache_size 查询缓存 query_cache_type缓存是否打开 OFF/ON read_buffer_size读缓存SET GLOBAL query_cache_size=1 ...

  2. js对象常用2中构造方法

    //js 对象的构造方法通常有2中情况: //第一种是通过json对象构造 var persion={ name:"孙悟空", age:40, eat:function () { ...

  3. Delphi 用文件流读取文本文件字符串的方法

    procedure TForm23.Button4Click(Sender: TObject); var pstr:Pchar; mestr,Str1:string; FS:TFilestream; ...

  4. [转载]Python & Selenium -- 页面加载时间过长&启动指定FF

    原文链接:https://my.oschina.net/u/2344787/blog/400507?p={{page}} 1. selenium webdriver在get方法会一直等待页面加载完毕才 ...

  5. 如何知道使用的是哪种shell?

    命令一:[echo $0] 命令二:[echo $$]

  6. php+mysql

    本文整理一下使用php和mysql向前端推送数据的过程. 数据库部分: 1.首先安装服务器,我选择xampp,安装可以选择任意地址.安装完成,打开xampp-control.exe . 选择开启Apa ...

  7. Using Redis to store php session

    Using Redis to store php session 默认情况下,php将会将session信息存储在文件系统上,在单机情况下没有问题,但是当系统负载增大,或者在对系统可用性要求很高的场景 ...

  8. 重走java---Step 1

    开发环境 1.使用java开发,首先要完成java运行环境的安装配置,JVM可以说是java最大的优点之一,就是它实现了java一次编译多次运行,关于JVM以后再详谈.安装配置JDK,完成java开发 ...

  9. paramiko模块-2

    如何用paramiko模块模拟登入服务器,并记录操作日志,起到审计的作用? 各个client ---(连接跳转机)--->(跳转机)------>各自的目标服务器. 目前我们公司的跳转机, ...

  10. 【英语魔法俱乐部——读书笔记】 0 序&前沿

    [英语魔法俱乐部——读书笔记] 0 序&前沿   0.1 以编者自身的经历引入“不求甚解,以看完为目的”阅读方式,即所谓“泛读”.找到适合自己的文章开始“由浅入深”的阅读,在阅读过程中就会见到 ...