JAVA异常的捕获及处理简单理解

异常的基本概念
异常是导致程序中断的一种指令流,在没有异常处理的语言中如果要回避异常,就必须使用判断语句,配合所想到的错误状况来捕捉程序里所有可能发生的错误。
异常处理格式:

try{
 //有可能出现异常的语句
 }catch(异常类 异常对象){
 //编写异常的处理语句
 }[catch(异常类 异常对象){
 //编写异常的处理语句
 }....]
 [finally{
 //一定会运行到的程序代码,不管程序是否异常
 }
 

例子:

int i=10;
int j=0;
System.out.print("计算开始\n");
try{
	int temp=i/j;
	System.out.print("计算结果为:"+temp);
	}catch(ArithmeticException e)
	{
		System.out.print("程序出现了异常"+e+"\n");
		}
	finally{
	System.out.print("不管程序是否异常,都执行此代码\n");
	}
	System.out.print("计算结束");

//程序运行结果为:
计算开始
程序出现了异常java.lang.ArithmeticException: / by zero
不管程序是否异常,都执行此代码
计算结束

在JAVA的异常结构中,最常用的两个类是:Exception和Error,这两个类都是Throwable的子类
Exception:一般表示程序中出现的问题,可以直接try…catch处理
Error: 一般指的是JVM错误,程序中无法处理。
异常信息的处理格式:Exception类中的printStackTrace() 方式输出异常信息最安全:e.printStackTrace();
在JAVA捕获异常时,所有捕获范围小的异常必须放在捕获范围大的异常前面。
且所有异常都可以使用Exception接收
二,throws与throw关键字
使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理。

格式:
public 返回值类型 方法名称(参数列表...)throws 异常类{}
class Math{
 public int div(int a,int b)throws Exception{
  return a/b;
 }
}
在主方法中:
Math m=new Math();
try{//因为在方法中有throws,所以不管有无异常,都必须进行处理
	System.out.print("除法操作:"+m.div(10,2));
	}catch(Exception e)
	{
		e.printStackTrace();
	}
}
//程序运行结果为:除法操作:5

throw:可以直接使用throw关键字抛出一个异常,throw不会单独使用

 try{
    throw new Exception("自己抛出的异常!");
   }catch(Exception e){
    System.out.print(e);
   }
   //程序运行结果为:java.lang.Exception: 自己抛出的异常!

Exception 在程序中必须使用try…catch进行处理
RuntimeException 可以不适用try…catch处理,但如果有异常产生,则异常将由JVM处理,且其也是Exception的子类
断言就是肯定某一个结果的返回值是正确的
格式:assert boolean 表达式; assert boolean 表达式:详细的信息 断言虽然有检查运行结果的功能,但是并不提倡使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值