• 07-异常处理


    动手动脑:

    1.异常处理基础知识:

    Java 中所有可捕获的异常都派生自 Exception 类,把可能会发生错误的代码放进try语句块中。当程序检测到出现了一个错误时会抛出一个异常对象,异常处理代码会捕获并处理这个错误。catch语句块中的代码用于处理错误。当异常发生时,程序控制流程由try语句块跳转到catch语句块。

    2.运行CatchWho结果:

    分析:当内层捕获异常并处理后,外层则不再捕获该异常。

    3.运行CatchWho2结果:

    分析:当内层捕获异常并处理后,外层则不再捕获该异常。

    4.辨析:finally语句块一定会执行吗?

    当外层异常未被处理时,内层异常不会被处理并且finally也不会执行,当有多层嵌套的finally语句时,异常在不同层次不同位置抛出时,也会导致不同的finally语句块执行顺序。除非调用system.exit()让程序退出也就是将调用这个程序的进程断开了finally就不会执行,否则无论任何因素finally块都一定会执行。

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

    源代码

    import java.util.Scanner;
    class GradeTest{
    private double grade;
    public void InputGrade(String s)
    {
    boolean flag = true;
    try
    {
    for(int i = 0;i<s.length();i++)
    {
    if((s.charAt(i) < '0'|| s.charAt(i) > '9')&& s.charAt(i) != '.')
    flag = false;
    }
    if(!flag)
    {
    throw new MyException("请输入数字!");
    }
    try{
    grade = Double.parseDouble(s);
    if(grade < 0 || grade > 100)
    {
    throw new MyException("请输入0到100的数字!");
    }
    if(grade < 60)
    System.out.println("不及格");
    else if(grade <70)
    System.out.println("及格");
    else if(grade < 80)
    System.out.println("中");
    else if(grade < 90)
    System.out.println("良");
    else
    System.out.println("优");
    }
    catch(MyException e)
    {
    System.out.println(e.getMessage());
    }
    }
    catch(MyException e)
    {
    System.out.println(e.getMessage());
    }
    }
    }

     

     

     

    class MyException extends Exception

     

    {
    MyException(String str)
    {
    super(str);
    }
    }

     

    public class Grade {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner in = new Scanner(System.in);
    GradeTest G = new GradeTest();
    System.out.println("请输入成绩:");
    String str = in.nextLine();
    G.InputGrade(str);
    in.close();
    }
    }

    运行截图:

  • 相关阅读:
    windows编程学习笔记
    自学JAVA-12:MySQL数据库
    自学JAVA-11:IO流
    自学JAVA-10:集合
    自学JAVA-9:基本类常用方法整理
    自学JAVA-8:异常
    自学JAVA-7:多态
    自学JAVA-6:继承
    自学JAVA-5:修饰符、对象初始化
    自学JAVA-4:方法、对象、类、属性
  • 原文地址:https://www.cnblogs.com/mqlblog/p/7846834.html
Copyright © 2020-2023  润新知