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 + "是水仙花数" + "\n" + input + "=" + (a + "*" + a +"*"+ a) + "+" +(b+ "*"+ b +"*" +b) +"+"+ (c +"*"+ c +"*"+ c));
        } else
            System.out.print(input + "不是水仙花数");

    }
}

猜你喜欢

转载自www.cnblogs.com/conglingkaishi/p/9246249.html