import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Scanner;
public class exception extends Exception{
//继承Exception类
public exception(String ErrorManage){ //exception类构造方法
super(ErrorManage); //父类的构造方法
}
public String getMessage(){ //重写getMessage方法
String a = "aaa";
return a;
}
static int division(int a,int b) throws exception{ //throws用在声明方法时,执行方法可能抛出的异常
if(a < 0 || b < 0){
throw new exception("不可以为负数"); //throw用来抛出自定义的异常
}
if(a > 100 && b > 100){
throw new exception("错误2");
}
return a / b;
}
public static void main(String[] args){
Scanner scan = new Scanner(System.in); //获取键盘输入
int a = scan.nextInt(); //键盘输入的第一个数给a,第二个数给b
int b = scan.nextInt();
try{ //try{}catch{}finally{};try放可能出现异常的代码,catch获取异常信息,finally无论有无异常都要执行的程序
float result = division(a,b);
System.out.println(result);
}catch (exception c){
System.out.println(c.getMessage()); //因为前面getMessage重写了所以输出的是aaa
//System.out.println(c);
}catch (ArithmeticException e){
/*Java常见异常:ArithmeticException算术异常、ClassCastException类型转换异常、ClassNotFoundException未找到相应类、
ArrayIndexOutOfBoundsException数组下标越界、ArrayStoreException数组中包含不兼容的值、SQLException数据库异常、
NullPointerException空指针、NoSuchFieldException未找到字段、NoSuchMethodException未找到方法、NumberFormatException字符串转数字、
NegativeArraySizeException数组元素个数为负数、StringIndexOutOfBoundsException字符串索引超出范围、IOException输入输出异常、
IllegalAccessException不允许访问某类、InstantiationException无法实例化、EOFException文件已结束、FileNotFoundException文件未找到
*/
e.printStackTrace();
}catch (Exception e){
System.out.println("程序发生了异常");
}
finally {
System.out.println(a);
System.out.println(b);
}
}
}
Java异常处理try catch finally
最新推荐文章于 2023-04-09 13:05:07 发布