package com.company;
// eclipce 常用的工具 创建抽象类,继承的接口,方式等等
// 异常处理 异常是阻止当前方法或作用域继续执行的问题,在程序中导致程序中断的一些指令
// try / catch
// THROWABLE 是异常的基类,分为error和exception,在编程中我们关注exception
// exception 分为编译议程和运行的议程
//可以用try
// 有异常会程序中断无法继续执行
// 异常 数据类型范围小的放前面,数据类型大的放后面 ,
// finally 会始终执行 会先执行 finally
// throw 与 throws
// throws 关键字主要在方法的申明上使用,表示方法中部处理异常,而交给调用处处理,实际上对于java 程序来讲,如果没有加入任何的异常处理,默认由JVM 进行异常的处理操作,
// throw 关键字表示在城中手动抛一个异常,因为从异常处理机制来看,所有的异常一旦产生之后,实际上抛出的就是一个异常类的实列化对象,那么此对象也可有throw 直接抛出
import javax.print.attribute.standard.NumberUp;
import java.util.InputMismatchException;
import java.util.Scanner;
public class eclipse76 {
public static void main(String[] args){
// System.out.println(“hello ,以后的规划”);
div(155,0);
// div2(20,0);
input();
}
private static void div(int mun1, int mun2 ){
try {
int result =mun1/mun2;
System.out.println(result);
// 异常 数据类型范围小的放前面,数据类型大的放后面 ,
}catch (ArithmeticException e){// 算数异常
System.out.println(e+"除数不能为零");
}catch (ArrayIndexOutOfBoundsException e){// 数组异常
System.out.println("为撒子");
}catch (NullPointerException e){// 空指针异常
System.out.println("空指针");
}catch (Exception e ){
System.out.println("所有的数据 错误");
}finally {
//及时外面有return 也可以执行的
System.out.println("最终的异常报错");
}
System.out.println( "程序运行结束");
}
// zi自动补全
private static int div2(int a ,int b)throws ArithmeticException {
try {
int c = a / b;
return c;
} catch (ArithmeticException e) {
throw new ArithmeticException("除数不能为零");
}finally {
System.out.println("运行结束");
}
}
private static void input(){
Scanner input =new Scanner(System.in);
try {
int mun=input.nextInt();
System.out.println(mun);
}catch (InputMismatchException e){
System.out.println(e);
System.out.println("输入得不匹配");
}
}
}