• Java_异常


    什么是异常?

      异常就是"意外,例外"的意思,也就是非正常情况,Java中异常的本质就是程序上的错误;

    如何处理异常?

      Java提供了强大的异常处理机制,用过异常机制,我们可以更好的提升程序的健壮性;

      异常处理机制为:抛出异常,捕捉异常

      主要通过try catch finally   throw   throws  五个关键字处理异常

      在Java中Throwable是所有异常类的父类,关系图如下:   

      Error:是程序无法处理的错误,表示运行程序中较为严重的错误,大多数错误与代码编写这执行的操作无关,是JVM(Java虚拟机)出现的问题;

        Exception:是程序本身能够处理的异常,异常的处理通常都是指针对珍重异常的处理,主要包括:

      checked exception:编译器要求必须处理的异常,否则无法正常都过编译,如 IOException

      unchecked exception:编译器不要求强制处理的异常,可以正常编译,运行时提示异常信息,如 NullPointerException(空指针异常)  

    try-catch-finally(其中catch,finally至少存在一个)

    public static void main(String[] args) {
            int a = 0; 
            Scanner sc = new Scanner(System.in);
            try {
            System.out.println("======运算程序开始======");
            System.out.println("请输入第一个整数:");
            int m = sc.nextInt();
            System.out.println("请输入第一个整数:");
            int n = sc.nextInt();
            System.out.println("它们的商是:" + m/n);
            }catch (Exception e) {
                System.out.println("程序错误!!");
            }
        }

    自定义异常类:

    public class MyException extends Exception{
        public MyException() {
            super("必须输入一个(100-999)的三位整数!");
        }
    }

    异常类的使用:

    package com.task5;
    
    import java.util.Scanner;
    
    public class Test2 {
        // 输入一个100-999的数,判断它是不是水仙花数
        public static void main(String[] args) throws MyException {
            System.out.println("请输入一个大于100的三位整数:");
            Scanner sc = new Scanner(System.in);
            int input = sc.nextInt();
            if(input < 100 || input > 1000) {
                throw new MyException();
            }
            int a = input / 100;
            int b = input / 10 % 10;
            int c = input % 10;
            if (input == a * a * a + b * b * b + c * c * c) {
                System.out.print(input + "是水仙花数" + "
    " + input + "=" + (a + "*" + a +"*"+ a) + "+" +(b+ "*"+ b +"*" +b) +"+"+ (c +"*"+ c +"*"+ c));
            } else
                System.out.print(input + "不是水仙花数");
    
        }
    }
  • 相关阅读:
    微信小程序传值
    tp查询中2个表格中字段,比较大小
    isNaN与parseInt/parseFloat
    编程技巧之表格驱动编程
    RGB
    矩形重叠检测。
    经验搜索排名---google已经做过类似的了(我想多了)
    有关编程语言的认识
    Nodepad++ 资料整理
    lower()
  • 原文地址:https://www.cnblogs.com/conglingkaishi/p/9246249.html
Copyright © 2020-2023  润新知