• Java trycatch自定义捕捉异常


      题目要求:输入数值,90-100输出“优”,80-90输出“良”,70-80输出“中”,60-70输出“及格”,0-60输出“不及格”,输入其他捕捉异常并提示相应信息。

      代码如下:

     1 import java.util.Scanner;
     2 
     3 @SuppressWarnings("serial")
     4 //自定义异常类
     5 class TryException extends Exception
     6 {
     7     /**
     8      * 
     9      */
    10     private static final long serialVersionUID = 1L;
    11     public TryException(String Message) {
    12         super(Message);
    13     }
    14 }
    15 
    16 public class TryTheWrong {
    17     static Scanner in = new Scanner(System.in);
    18     public static void main(String args[]) {
    19         //运行try-catch
    20         try {
    21             JudgeError();
    22         }
    23         catch(TryException e) {
    24             //输出自定义异常中的信息
    25             System.out.println( e.getMessage() );
    26         }
    27     }
    28     //运行方法,包括输入值,对值的判断以及将要反馈的异常信息throw给自定义异常类
    29     public static void JudgeError() throws TryException
    30     {
    31         String s=in.next();
    32         String m="^[0-9]*$";
    33         //判定是否全为数字
    34         if(!s.matches(m)) {
    35             throw new TryException("输入含非数字项");
    36         }
    37         //string转int
    38         int i = Integer.valueOf(s);
    39         if(i>100) {
    40             throw new TryException("输入数值小于0或大于100");
    41         }
    42         if(i>=90&&i<=100) {
    43             System.out.println("优");
    44         }
    45         else if(i>=80&&i<90) {
    46             System.out.println("良");
    47         }
    48         else if(i>=70&&i<80) {
    49             System.out.println("中");
    50         }
    51         else if(i>=60&&i<70) {
    52             System.out.println("及格");
    53         }
    54         else if(i>=0&&i<60) {
    55             System.out.println("不及格");
    56         }
    57         else {
    58             System.out.println("ERROR");
    59         }
    60     }
    61 }

      创建自定义异常类TryException,利用super()和throw new捕捉反馈的异常信息,最后通过catch中System.out.println(e.getMessage());输出。注意在实行该操作时,类(JudgeError)要throws对应的类名(TryException)。由于输入未知,可能含有非数字元素,因此在进行输入操作时,先作为字符串输入,通过正则表达式判定是否都为数字,再将string转化为int,判断其是否大于100,根据结果判断是否反馈异常信息,若都没有问题,则继续执行下面的if-else if操作,输出正确结果。

  • 相关阅读:
    文件读写
    使用HttpClient实现文件的上传下载
    TreeMap
    Linux的目录结构与文件权限
    Hibernate中get()和load()方法的区别
    Hibernate中openSession()与getCurrentSession()的区别与联系
    Hibernate核心类和接口
    Hibernate连接数据库
    Struts2中OGNL表达式的用法
    Struts2中Result的配置
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/11756108.html
Copyright © 2020-2023  润新知