java简单异常的处理

package class2;

public class Demo3 {

 public static void main(String args[])
 {
  try
  {
   int a = 5;
   int b = 0;
   System.out.println(a/b);
  }catch(ArithmeticException e)//算术异常
  {
   System.out.println("-----一异常处理------");
   System.out.println(e.getMessage());//获取描述异常对象的字符串
   System.out.println(e.toString());//输出异常详细信息
   e.printStackTrace();//打印出当前异常对象的异常使用轨迹
  }
 }
}

执行后输出

-----一异常处理------
/ by zero
java.lang.ArithmeticException: / by zero
java.lang.ArithmeticException: / by zero
 at class2.Demo3.main(Demo3.java:11)

 

java中常见异常为

 1. Java.lang.NullPointerException 
  这个异常大家肯定都经常碰到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(假如要调用的话) 

  2. java.lang.ClassNotFoundException 
  这个异常是很多原本在JB等开发环境中开发的程序员,把JB下的程序包放在WTk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,假如是在JB下做的程序包,一般都是默认加上Package的,所以转到WTK下后要注重把Package的路径加上。 

  3. java.lang.ArithmeticException 
  这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。 

  4. java.lang.ArrayIndexOutOfBoundsException 
  这个异常相信很多朋友也经常碰到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太轻易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。 

  5. java.lang.IllegalArgumentException 
  这个异常的解释是"方法的参数错误",很多J2ME的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数假如写成负数就会出现这个异常,再比如g.setColor(int red,int green,int blue)这个方法中的三个值,假如有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。 

  6. java.lang.IllegalAccessException 
  这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了Package的情况下要注重这个异常。

对try、catch、finally的总结

1.try+catch 
程序的流程是:运行到try中,如果有异常抛出,则转catch理。然后catch后面的 

2.try+catch+finally 
程序的流程是:运行到try中,如果有异常抛出,则转catch,catch块执行完后,finally的代,再finally后面的代

如果没有异常抛出,行完try,也要去finally的代。然后finally后面的 

3.try+finally 
程序的流程是:运行到try,如果有异常抛出的,程序finally的代。那末finally后面的代码还会被?不会!因你没有理异常,所以遇到异常后,行完finally后,方法就已抛出异常的方式退出了。 
这种方式中要注意的是,由于你没有捕异常,所以要在方法后面声明抛出异常


 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值