`
ariyue
  • 浏览: 345335 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

常见的RuntimeException

阅读更多
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的异常处理机制,这些都不是问题。
分享到:
评论

相关推荐

    总结了一下JAVA中常见的几种RuntimeException

    以下是对给定文件中提到的几种常见`RuntimeException`的详细解析: 1. **`NullPointerException` - 空指针引用异常** 当尝试在`null`值上执行操作时,就会抛出`NullPointerException`。这通常是由于变量未被正确...

    java面试宝典

    44. **常见RuntimeException** - 常见的RuntimeException包括空指针异常NullPointerException,数组越界异常ArrayIndexOutOfBoundsException等。 45. **异常处理关键字** - Java通过try, catch, finally, throws...

    java试题 很好很实用

    5. **常见RunTimeException**:这些异常是程序运行时可能出现的错误,例如`NullPointerException`(空指针异常)、`ClassCastException`(类型转换异常)、`ArrayIndexOutOfBoundsException`(数组下标越界)、`...

    Java面试宝典.pdf

    常见RuntimeException有NullPointerException、ArrayIndexOutOfBoundsException等。throw是用于抛出异常的语句,throws用于声明一个方法可能抛出的异常。 7. final、finally、finalize的区别:final用于声明类、...

    JAVA基础-----面试宝典

    常见 RuntimeException 类 例如 ArithmeticException(算术异常)、ArrayStoreException(数组存储异常)、ClassCastException(类转换异常)等,这些异常在运行时可能会抛出,需要进行适当的处理。 以上是对给定...

    RuntimeException

    一些常见的运行时异常,一些常见的运行时异常,一些常见的运行时异常,

    常用的RuntimeException.txt

    ### 常用的 RuntimeException 知识点解析 在 Java 编程语言中,异常处理是一种重要的机制,用于处理程序运行时可能出现的各种错误情况。异常类(`Exception`)是 `Throwable` 类的一个子类,它又分为两大类:检查性...

    Java 常见异常(Runtime Exception )详细介绍并总结

    `RuntimeException` 是所有运行时异常的基类,包括 `NullPointerException`(空指针异常)、`ArrayIndexOutOfBoundsException`(数组越界异常)和 `ClassCastException`(类型转换异常)等。这些异常通常表明程序中...

    Hive常见异常处理.docx

    当我们尝试写入或读取HDFS上的文件时,如果没有足够的权限,Hive将抛出一个RuntimeException,错误信息为“Permission denied”。解决这个问题的方法是连接shadmin用户,对shdev用户赋予该路径的ACL权限。 三、通用...

    Java常见笔试、面试题目深度剖析第二、三讲下载地址

    - **异常体系**:Java中的异常分为两大类:运行时异常(`RuntimeException`)和非运行时异常(`Exception`)。 - **异常处理机制**:通过`try-catch-finally`语句块来捕获和处理异常。 - **自定义异常**:可以通过...

    Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法

    在使用 Laravel 框架开发 Web 应用时,可能会遇到一个常见的错误提示:“RuntimeException No application encryption key has been specified.” 这个错误意味着你的 Laravel 应用缺少一个用于加密数据的关键配置,...

    在Java中异常分析

    - **异常路径**:`java.lang.Object -> java.lang.Throwable -> java.lang.Exception -> java.lang.RuntimeException -> java.lang.IndexOutOfBoundsException -> java.lang.ArrayIndexOutOfBoundsException` ...

    Java异常处理类举例

    常见的子类包括RuntimeException、IOException等。RuntimeException类:它是Exception类的一个重要子类,代表了运行时异常,通常是由程序逻辑错误引起,可以选择捕获或者向上抛出。常见的子类有NullPointerException...

    常见Java笔试面试题

    【Java笔试面试题详解】 1. **面向对象的特征** - **抽象**:抽象是对象...以上是Java面试中常见的知识点,涵盖了面向对象、数据类型、字符串处理、异常处理、Web开发等多个方面,这些都是Java开发者必备的基础知识。

    JAVA、C、C++常见面试题汇总

    Java中的异常分为两大类:**运行时异常(RuntimeException)**和**检查型异常(Checked Exception)**。 - **运行时异常**通常是由于编程错误引起的,如数组下标越界、空指针访问等,这类异常在编译时不会被检查,...

    hive on tez 常见报错问题收集

    然而,在实际操作中,我们经常会遇到一些常见的错误,特别是当Hive运行在Tez引擎上时。这里我们将深入探讨五个在Hive on Tez中常见的报错问题及其解决方案。 1. 错误一:Failing because I am unlikely to write ...

    java常见面试题java常见面试题

    Exception又分为运行时异常(RuntimeException及其子类)和检查异常(非RuntimeException)。运行时异常在编译时不强制捕获,如果未被捕获,程序会在运行时停止。而检查异常在编译时必须显式处理,否则编译无法通过...

    Java常见异常类型及原因分析(下).pdf

    Java是一种广泛使用的...例如,RuntimeException是Java.lang包中多数异常的基类,它表示运行时异常。这类异常通常是可以避免的,不应该出现在生产环境中。ArithmeticException是算术异常,比如尝试除以零时就会抛出。...

Global site tag (gtag.js) - Google Analytics