/*
java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。
在Java Api已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception
Object<--Throwable<--Exception<--RuntimeException<------------------------------------------ArithmeticException
-- <--IOException(必须处理|是由失败或错误的IO操作引起的) <--NullPointerException
-- <--SQLException(必须处理|数据库访问错误或其他访问错误) <--NumberFormatException 数字格式异常
-- <--ArrayIndexOutOfBoundsException
-- <--ClassCastException 类型强制转换异常
<--Error<--VirtualMachineError <--IllegalArgumentException 传入非法参数
<--AssertionError <--ArrayStoreException 向数组中存放与声明类型不兼容对象异常
异常主要分为两种运行时异常和非运行时异常
try ,,,,,,,catch捕获异常处理
try{
(1)潜在可能存在的异常
}catch{
(2)捕获异常,后面对应异常类型和一个代码块,用于表明该catch块用于处理这种类型的代码块
}finally{
(3)主要用于回收再try块里面打开的物力资源(数据库连接、网络连接、磁盘文件)
}
(4)throw:用于抛出一个实际的异常,可以单独作为语句使用,抛出一个具体的异常对象
(5)throws:用在方法签名中,用于声明该方法可能抛出的异常。
*/
/*
创建一个异常类
*/
public class MyException extends Throwable {
private String message ;
public MyException(){}
public MyException(String message){
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public void getExceptionMessage(){
System.out.println(message);
}
}
public class Exception extends MyException {
public static void main(String[] args){
try{
method(-5);
}catch(MyException e){
e.getExceptionMessage();
}
}
public static void method(int i)throws MyException{
if(i<0){
throw new MyException("输入错误!请输入一个不小于0的数");
}
}
}
输入错误!请输入一个大于0的数