Java异常

Java程序中出错有两种情况:

1. 出现异常Exception  --- 合理逻辑,正确捕捉完成逻辑
2. 出现错误Error      --- 虚拟机级别的错误,程序无法处理。一定要避免.


一、声明异常

当方法可能出现某些异常时,可在方法定义后面使用throws将可能的异常全部抛出(可抛出多个异常),如:

public void FileInputString(String name) throws FileNotFoundException{

}

二、异常处理

String str = "23sgvs4";

try{
int num = Integer.parseInt(str);                //try中运行代码,检查可能出现的异常,若出现异常,后面剩余代码不执行
System.out.println(num);
}catch(NumberFormatException e){               //catch将出现的异常进行捕获,执行后面大括号中的代码
System.out.println("数字格式转换异常");
}finally{                                                                  //无论是否出现异常,finally中的代码都会强制执行
System.out.println("程序结束!");

}

注:finally{  }: 无论什么情况都会被强制执行.通常用于释放资源,比如说io流,数据库连接,垃圾回收.为的是节省系统资源,

内存不会太满,提高计算机的性能.

三、自定义异常

public class MyException extends Exception{

public MyException(){

}

public MyException(String msg){
super(msg);
}


@Override
public String getMessage() {
// TODO Auto-generated method stub
System.out.println("My Exception");
return super.getMessage();
}


}

四、异常种类

1、Exception 异常层次结构的根类,继承自Throwable

2、RuntimeException 许多java.lang异常的基类

3、NullPointerException 空指针异常

4、ArrayIndexOutOfBoundException 数组下标越界异常

5、NumberFormatException 数字格式化异常

6、IOException IO异常的根类

7、ArithmeticException 算术错误异常

8、ClassNotFoundException 不能加载所需的类

9、IllegalArgumentException 非法参数异常

10、FileNotFoundException 找不到文件异常

11、EOFException 文件结束

12、InterruptedException 线程中断异常

。。。

五、throw与throws区别

throw是有手动引发异常

if(getWatterline() >= getWarning()+9){
throw new MyException("决提了");
}

throws是有指定方法引发异常

public void FileInputString(String name)throws FileNotFoundException

注:1、throw只能抛出一个异常,通常用于自定义异常;throws能抛出多个异常,可以是java.lang包下的所有异常类,

也可以是自定义类;

2、方法使用throws抛出异常时,其本身不处理,但是调用该方法的方法要进行处理try-catch,或是继续抛出,

不然程序会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值