精华内容
下载资源
问答
  • checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理...

    Java提供了两类主要的异常:runtime exception和checked exception。checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。

    但是另外一种异常:runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。

    出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往我们不对他处理罢了。也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。

    如果不想终止,则必须扑捉所有的运行时异常,决不让这个处理线程退出。队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。不应该由于异常数据而影响下面对正常数据的处理。在这个场景这样处理可能是一个比较好的应用,但并不代表在所有的场景你都应该如此。如果在其它场景,遇到了一些错误,如果退出程序比较好,这时你就可以不太理会运行时异常,或者是通过对异常的处理显式的控制程序退出。

    展开全文
  • checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理...

    Java提供了两类主要的异常:runtime exception和checked exception。checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。 

    但是另外一种异常:runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。 

    出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往我们不对他处理罢了。也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。 

    如果不想终止,则必须扑捉所有的运行时异常,决不让这个处理线程退出。队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。不应该由于异常数据而影响下面对正常数据的处理。在这个场景这样处理可能是一个比较好的应用,但并不代表在所有的场景你都应该如此。如果在其它场景,遇到了一些错误,如果退出程序比较好,这时你就可以不太理会运行时异常,或者是通过对异常的处理显式的控制程序退出。

    转载于:https://www.cnblogs.com/chuiyuan/p/4764867.html

    展开全文
  • Throwable是所有java程序处理异常的父类,有两种,分别为Error和Exception Error,表示由JVM所侦测到的无法预期的错误.这是JVM层的严重错误.这个是不可捕捉的,无法采取任何恢复的操作,只能显示出信息.. Exception:为...

    Throwable是所有java程序处理异常的父类,有两种,分别为Error和Exception

    Error,表示由JVM所侦测到的无法预期的错误.这是JVM层的严重错误.这个是不可捕捉的,无法采取任何恢复的操作,只能显示出信息..

    Exception:为可恢复的例处,可捕捉.

     

    展开全文
  • 检查性异常相反,运行时异常可以在编译时被忽略。错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。运行时异常:为啥我要...

    c9f87e3cb1dbf99757294e02066577cc.png

    异常,就是犯错,我们程序员,错了就得改!

    检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。

    运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

    错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

    a8b291b5be58b4cf7897b584d307ecc9.png

    运行时异常:

    为啥我要先讲运行时异常?因为运行时异常是可以被我们避免的,catch这类错误本身就是不好的,我们应该避免这类错误,比如数组越界,是可以避免的如果你非要去catch,就是不好的行为。

    首先,我们先写个主方法方便统一catch,然后逐个讲解如何实现此类异常

    fe6e6109dc26fa6e3a42fd01863f76df.png

    下面开始:

    1、ArrayStoreException

    public 

    往一个数组里放了一个不应该放的东西

    2、FileNotFoundException

    public 

    文件找不到,对路径就是我瞎写的

    3、ArithmeticException

    public 

    计算错误,傻子才会把0当分母,没啥好分的对吧

    4、ClassCastException

    public 

    非得把空对象当字符串打印,java不知道咋搞了

    5、ArrayIndexOutOfBoundsException

    这一条我都懒得打代码,直接翻译一下

    6、IllegalArgumentException

    public 

    就传参有问题呗,这个挺难写的

    7、IllegalMonitorStateException

    public 

    这货想调用等待方法,但是他并没有“锁”

    8、IllegalStateException

    “覆水难收”,当我们意图在一个已经关闭的流中追加信息的时候,或是意图修改已经发出去的请求的请求头时就会有这个报错

    9、IllegalThreadStateException

    public 

    你试图启动一辆已经启动的车子

    10、IndexOutOfBoundsException

    public 

    这个为啥我要说一下呢?这个和前面的一块儿说,大家看这个代码肯定小小的脑袋里装满了疑惑,都是拿错的,为啥顶上的就是Array,下面的就是index

    3aa80283ceaf01641d038f98230e51f9.png

    get的时候他会先去检查

    006b008dbafb7417e9eb51de1c522be4.png

    检查不到就报错

    你大可理解为,前面的,单纯就是取值取不到报错,后面这个,一般是个过程稿,比如我要排序的时候发现我找的那个值有问题,上图这个是在判断数据有没有的时候发现要找的值不存在,而不是直接返回。

    11、NegativeArraySizeException

    如果应用程序试图创建大小为负的数组,则抛出该异常,大家自己回去写吧。

    12、NullPointerException

    当应用程序试图在需要对象的地方使用 null 时,抛出该异常,正常的程序员都遇到过。

    13、NumberFormatException

    public 

    格式不对,转不成正确的数字。

    14、SecurityException

    由安全管理器抛出的异常,指示存在越权行为,安全处理器我们后面单独开一章来讲。

    15、StringIndexOutOfBoundsException

    和之前的数组差不多,不过这次是字符串

    16、UnsupportedOperationException

    public 

    这就不行,因为list的add是假的

    9d3ac1083a7d8ec5c64bcea2ca6ff3da.png

    怎么行呢?这样

    public 

    我们来看一下arrayList的add

    b111558d89169be7932e9d8c0616b35a.png

    好了,以上

    最后点一下题,送大家一句话:

    如果犯错是成长的过程,那么改错就是成熟的过程,犯错和改错之间,我们却忽略了认错。不肯承认自己的平凡,自以为伟大,自以为成熟,自以为圣贤,闭着眼睛是打不开下一扇门的。没必要向现实邀功,也不必向过往道歉,愿你我都是鲁莽的少年。
    展开全文
  • Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,...Java提供了两类主要的异常:r...
  • Java提供了两类主要的异常:运行时异常runtime exception和一般异常checked exception。checked 异常。对于后者这种异常,JAVA要求程序员对其进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆...
  • 运行时异常与一般异常有何异同?
  • 运行时 异常 与一般 异常 的区别的详细说明..
  • 运行时异常与一般异常有何异同

    万次阅读 2017-06-08 22:25:45
    运行时异常与一般异常有何异同
  • java异常继承何类,运行时异常与一般异常的区别
  • 运行时异常:由java虚拟机抛出的异常。用户不必处理。 而一般异常是用户可以抛出的异常,如果抛出调用必须进行处理。1,从机制角度来讲:运行时异常: 在定义方法时不需要声明会抛出runtime exception; 在调用这个...
  • Java提供了两类主要的异常:runtime exception和checked exception。 checked exception: checked异常也就是我们...这类异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用...
  • 异常:程序运行过程中可能出现的非正常状态。 运行时异常:虚拟机的通常操作中可能遇到的异常,是一种...java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 ...
  • 运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,...
  • 运行时异常:由JVM抛出的异常,用户无需处理。 一般异常:是用户可以抛出的异常,如果抛出调用必须进行处理。
  • 下面小编就为大家带来一篇java异常继承何类,运行时异常与一般异常的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 18、运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常...
  • 运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是...
  • 运行时异常与一般异常有何不同?”以下回答是小编整理出的回答:Java运行时异常:由java虚拟机抛出的异常。用户不必处理。 一般异常是用户可以抛出的异常,如果抛出调用必须进行处理。 运行时异常表示虚拟机的通常...
  • checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理...
  • ”以下回答是小编整理出的回答:Java运行时异常:由java虚拟机抛出的异常。用户不必处理。 一般异常是用户可以抛出的异常,如果抛出调用必须进行处理。运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,344
精华内容 537
关键字:

一般异常与运行时异常