一些常见的RuntimeException

原创 2004年09月22日 19:30:00

Java中采用了强制异常捕捉机制,这样一方面提高了程序的可靠性,不过有时候也带来一些麻烦。比如: int i= Integer.parseInt("33");这个我知道它不可能会抛出异常,但是不捕捉异常的话就过不了编译这关,当然这个代码没有意义的。

Java中所有异常或者错误都继承Throwable,我们把它分为三类吧:
1.Error:所有都继承自Error,表示致命的错误,比如内存不够,字节码不合法等。
2.Exception:这个属于应用程序级别的异常,这类异常必须捕捉。
3.RuntimeException:奇怪RuntimeException继承了Exception,而不是直接继Error,  这个表示系统异常,比较严重。

Error我们很少遇到,但是并不是说Error就一定非常致命,举个例子,NoSuchMethodError表示没有这个方法,你调用的方法不存在,你一定觉得奇怪,不存在怎么编译的过去呀?很简单的,你先编译好一个被调用的类A,给一个方法。然后在你的程序调用它,编译没问题,运行也没问题。现在再把A类中这个方法去掉,重新编译一遍,你再运行你的程序就知道错误是怎么回事了。
Exception不用说,我们要自己捕捉。
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:非法参数,在把字符串转换成数字的时候经常出现的一个异常,我们可以在自己的程序中好好利用这个异常。

这些异常一看到名字就知道是怎么回事了,其实只要理解了java的异常处理机制,这些都不是问题。

 

几种常见的Runtime Exception

一,error和exception的区别,RuntimeException和非RuntimeException的区别 1. 异常机制        异常机制是指当程序出现错误后,程序如何处理。具...
  • u010963246
  • u010963246
  • 2015年09月07日 22:22
  • 4276

JAVA中常见的几种RuntimeException

总结了一下JAVA中常见的几种RuntimeException,大约有如下几种: NullPointerException - 空指针引用异常 ClassCastException - 类型强制转换异...
  • kill_bugs
  • kill_bugs
  • 2015年12月09日 10:46
  • 1041

几种常见的RuntimeException例子

public class ExceptionTest { public static void main(String[] args) { //常见的RuntimeException //1...
  • YonGet
  • YonGet
  • 2016年08月09日 17:57
  • 633

Java中常见的几种RuntimeException

总结了一下JAVA中常见的几种RuntimeException,大约有如下几种: NullPointerException - 空指针引用异常 ClassCastException - 类型强制转...
  • u011514810
  • u011514810
  • 2016年09月04日 12:19
  • 6526

5个常见的RuntimeException

1)IllegalArgumentException抛出的异常表明向方法传递了一个不合法或不正确的参数 2)NullPointerException当应用程序试图在需要对象的地方使用 null 时,...
  • xiuye2015
  • xiuye2015
  • 2015年08月31日 19:56
  • 1433

(转)一些常见的RuntimeException

Java中采用了强制异常捕捉机制,这样一方面提高了程序的可靠性,不过有时候也带来一些麻烦。比如: int i= Integer.parseInt("33");这个我知道它不可能会抛出异常,但是不捕捉异...
  • andy52063
  • andy52063
  • 2008年03月30日 18:42
  • 219

列出一些你常见的运行时异常(非检查异常)?

-ArithmeticException(算术异常)  - ClassCastException (类转换异常)  - IllegalArgumentException (非法参数异常)  - ...
  • u014136713
  • u014136713
  • 2016年05月13日 18:06
  • 1046

请写出你最常见到的5个runtime exception

RuntimeException是java中所有运行时异常的父类,实际运行时出现的都是它的子类,看看RuntimeException的Java doc就可以随便列出几个: 1, Object ...
  • xiaoyu714543065
  • xiaoyu714543065
  • 2012年10月31日 08:24
  • 11195

常见的RuntimeException

常见的RuntimeException Java中采用了强制异常捕捉机制,这样一方面提高了程序的可靠性,不过有时候也带来一些麻烦。比如: int i= Integer.parseInt("33");这...
  • pulybuffer
  • pulybuffer
  • 2008年06月06日 23:48
  • 291

常见的RuntimeException异常

常见的几种RuntimeException如下:   NullPointerException - 空指针引用异常 ClassCastException - 类型强制转换异常。 Ill...
  • wlchn
  • wlchn
  • 2015年08月14日 13:22
  • 1000
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一些常见的RuntimeException
举报原因:
原因补充:

(最多只允许输入30个字)