• BigData07_08 异常Exception


    /*  
    作业3:题意:
    编写程序用于计算两个正数的加减乘除结果
    自定义一个异常类:MyException,当输入的数含有负数的时候,
    抛出自定义异常对象,并捕获处理
    
    */
    import java.util.Scanner;
    //自定义异常类
    class MyException extends Exception{
        public MyException(String msg){
            super(msg);
        }
    }
    public class ExceptionTest{
        public static void main(String[] args){
            //Scanner s = new Scanner(System.in);
            int a = 0;
            int b=0;
            while(true){
                System.out.println("请输入第一个数");
                try{
                    Scanner s = new Scanner(System.in);
                    a = s.nextInt();
                    check(a);
                }catch(MyException e){
                        System.out.println(e.getMessage());
                        System.out.println("重新输入一个数");
                        continue;
                }catch(Exception e ){
                    System.out.print("发生其他异常");
                    e.printStackTrace();
                    continue;
                }
                break    
            }
            while(true){
                System.out.println("请输入第二个数");
                try{
                    Scanner s = new Scanner(System.in);
                    b = s.nextInt();
                    check(b);
                }catch(MyException e){
                        System.out.println(e.getMessage());
                        System.out.println("重新输入一个数");
                        continue;
                }catch(Exception e ){
                    System.out.print("发生其他异常");
                    e.printStackTrace();
                    continue;
                }
                break    
            }
            System.out.println("add:"+(a+b));
            System.out.println("sub:"+(a-b));
            System.out.println("mul:"+(a*b));
            System.out.println("div:"+(a/b));
        }
    }
    
    
    public static void check(int a )  throws MyException{
        if(a<0){
            throw new MyException("此数为负数");
        }
    }
    自定义异常 手动抛出

    Java异常机制用到的几个关键字:trycatchfinallythrowthrows

    • try        -- 用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。

    • catch   -- 用于捕获异常。catch用来捕获try语句块中发生的异常。

    • finally  -- finally语句块总是会被执行。它主要用于回收在try块里打开的物力资源(如数据库连接、网络连接和磁盘文件)。只有finally块,执行完成之后,才会回来执行try或者catch块中的return或者throw语句,如果finally中使用了return或者throw等终止方法的语句,则就不会跳回执行,直接停止。

    • throw   -- 用于抛出异常。

    • throws -- 用在方法签名中,用于声明该方法可能抛出的异常。

     

     

  • 相关阅读:
    NHibernate初学者指南系列文章导航
    c# 类一般在哪里实例化,是在类内、方法内还是其他地方?
    日期和时间的正则表达式
    virtual和abstract区别
    VS2010和选中代码相同的代码的颜色设置,修改高亮颜色
    SqlServer表和EXCEL数据互相复制方法
    C#操作XML的方法
    1、Spring Boot 2.x 简介
    C语言学习系列(六)基本语法
    C语言学习系列(六)存储类
  • 原文地址:https://www.cnblogs.com/star521/p/8394777.html
Copyright © 2020-2023  润新知