A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王丽 黑马帝   /  2011-7-27 06:19  /  2639 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

常见的RuntimeException异常有哪些?怎样解决啊?

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

1 个回复

倒序浏览
黑马网友  发表于 2011-7-27 08:19:50
沙发
以下内容为搜索得来:
RuntimeException:RuntimeException继承了Exception,而不是直接继Error, 这个表示系统异常,比较严重。
RuntimeException可以说见的最多了,下面我们说明一下常见的RuntimeException:



NullPointerException:见的最多了,其实很简单,一般都是在null对象上调用方法了。
String s=null;
boolean eq=s.equals(""); // NullPointerException
这里你看的非常明白了,为什么一到程序中就晕呢?
public int getNumber(String str){
  if(str.equals("A")) return 1;
   else if(str.equals("B")) return 2;
}
这个方法就有可能抛出NullPointerException,我建议你主动抛出异常,因为代码一多,你可能又晕了。
public int getNumber(String str){
  if(str==null) throw new NullPointerException("参数不能为空");
                                    //你是否觉得明白多了
  if(str.equals("A")) return 1;
   else if(str.equals("B")) return 2;
}



NumberFormatException:继承IllegalArgumentException,字符串转换为数字时。
比如int i= Integer.parseInt("ab3");



ArrayIndexOutOfBoundsException:数组越界
比如 int[] a=new int[3]; int b=a[3];



StringIndexOutOfBoundsException:字符串越界
比如 String s="hello"; char c=s.chatAt(6);



ClassCastException:类型转换错误
比如 Object obj=new Object(); String s=(String)obj;



UnsupportedOperationException:该***作不被支持,如果我们希望不支持这个方法,可以抛出这个异常。既然不支持还要这个干吗?有可能子类中不想支持父类中有的方法,可以直接抛出这个异常。



ArithmeticException:算术错误,典型的就是0作为除数的时候。



IllegalArgumentException:非法参数,在把字符串转换成数字的时候经常出现的一个异常,我们可以在自己的程序中好好利用这个异常。

评分

参与人数 1技术分 +2 收起 理由
admin + 2 很用心!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马