RuntimeException

RuntimeException是非常特殊的子类,你可以不用throw和throws。
哪怕你throw了,也没必要throws,即使你throws了,调用者也没必要try-catch。 之所以不用在函数上声明,是因为不需要让调用者处理,当该异常发生,希望程序停止,
因为在运行时,出现了无法继续运算的情况,希望程序停止后由程序员对代码进行修正。 自定义异常时,如果该异常的发生,无法继续进行运行,就让自定义异常类继承RuntimeException ArithmeticException - 算术运算中,被0除或模除。 ArrayIndexOutOfBoundsException - 数组越界访问。 BufferOverflowException - 缓冲区溢出异常。 NullPointerException - 试图访问一空对象的变量、方法或空数组的元素。 ArrayStoreException - 数据存储异常,写数组操作时,对象或数据类型不兼容。 ClassCastException - 类型转换异常。 IllegalArgumentException - 方法的参数无效。 NumberFormatException - 数据格式异常,试图把一字符串非法转换成数值(或相反) IllegalThreadStateException - 试图非法改变线程状态,比如试图启动一已经运行的线程。

运行时异常和ckecked异常的区别

对于异常分两种:检查异常和非检查异常(运行时异常)

检查异常 :
编译时被检测的异常(throw后,方法有能力处理就try-catch处理,没能力处理就必须throws)。 运行时异常 :
编译时不被检查的异常(运行时异常。RuntimeException及其子类)。 1、机制上 主要表现在以下两个方面 :
(1)如何定义方法
(2)如何处理抛出的异常 运行时异常:
不需要用 throws 声明抛出异常对象所属类,也可以不用 throw 抛出异常对象或异常引用。
对于调用该方法,也不需要放于 try-catch 代码块中。
(如果你捕获它,就会冒这么一个风险:程序代码错误被掩盖在运行中无法察觉) 检查异常:
一旦用 throw 抛出异常,如果当前方法可处理异常,那么直接在该方法内用try-catch去处理。
如果当前方法不具备处理该异常的能力,那么就必须在参数列表后方法体前用 throws 声明异常所属类,
交给调用该方法的调用者(方法)去处理 。 2、逻辑上 从逻辑的角度来看,checked异常 和 RuntimeException 有着不同的使用目的:
检查性异常用来指示一种调用方能够直接处理的异常情况(例如: 用户输入错误,程序可以直接捕获并处理,提示用户输入错误),
而 RuntimeException 是用来指调用方本身无法处理或回复的程序错误
(例如,你封装个库给别人用,当别人调用你库中某个方法是,需要传入某些参数,
如果用户传入的参数不合法,你自己没办法处理,那么你抛出的就应该是运行时异常)。 ckecked异常包括:
IOException
SQLException
ClassNotFoundException
InterruptedException(中断异常-调用线程睡眠时候)
DataFormatException
FileNotFoundExcetion

Exception一自定义异常

https://www.cnblogs.com/loveer/p/11314089.html

Java checked异常 和 RuntimeException的更多相关文章

  1. Java checked 异常 和 RuntimeException(运行时异常)

    目录 一.运行时异常 1.什么是RuntimeExceptioin 2.运行时异常的特点 3.如何运用运行时异常 二.运行时异常和ckecked异常的区别 1.机制上 2.逻辑上 一.运行时异常 1. ...

  2. Java的异常:Error与Exception

    一. 异常机制的概述      异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 程序错误分 ...

  3. Java 面向对象 异常处理:RunTimeexception,try-catch,异常声明throws,自定义异常,throw和throws的区别,多异常处理(9)

    Java 面向对象 异常处理:RunTimeexception,try-catch,异常声明throws,自定义异常,throw和throws的区别,多异常处理(9)

  4. java中checked异常和unchecked异常区别?

    马克-to-win:checked和unchecked异常区别:结论就是:1)RuntimeException和他的子类都是unchecked异 常.其他的都是checked异常.马克-to-win: ...

  5. 【java】异常和处理

    (根据http://www.imooc.com/learn/110 陈码农老师教学视频总结)   一.异常体系结构 所有不正常类都继承于Throwable类 1.异常两个子类 error & ...

  6. Java基础——异常体系

    在Java中,异常对象都是派生于Throwable类的一个实例,Java的异常体系如下图所示: 所有的异常都是由Throwable继承而来,在下一层立即分解为两个分支,Error和Exception. ...

  7. [编织消息框架][JAVA核心技术]异常基础

    Java异常体系结构 Thorwable类所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常. 其中异常类Exception又分为运行时异常(RuntimeExcept ...

  8. 关于Java的异常

    异常机制概述 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 异常处理的流程 当程序中抛出 ...

  9. 哪些异常是RuntimeException?Sql异常属于RuntimeException吗?Spring下SQL异常事务回滚

    一,为什么框架中根本没有对Exception的一般子类进行回滚配置,异常发生时,事务都进行了回滚 ,说好的只会对RuntimeException(Unchecked 非受检异常)回滚呢? 此时,我们就 ...

随机推荐

  1. js 实现 间隙滚动效果

    代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  2. 59. jdk1.5新特性之----增强for循环

    /*jdk1.5新特性之----增强for循环:底层是一个迭代器 作用:简化迭代器书写格式 使用范围:实现了Iterable接口的对象或者数组对象 格式:    for(变量类型  变量名 :遍历目标 ...

  3. Sublime Text添加gcc编译器

    { "shell_cmd" : "gcc $file_name -o ${file_base_name}", "working_dir" : ...

  4. 6380. 【NOIP2019模拟2019.10.06】小w与最长路(path)

    题目 题目大意 给你一棵树,对于每一条边,求删去这条边之后,再用一条边(自己定)连接两个连通块,形成的树的直径最小是多少. 正解 首先,将这棵树的直径给找出来.显然,如果删去的边不在直径上,那么答案就 ...

  5. 【TCP/IP】TCP的三次握手和四次挥手

    传输控制协议(TCP)是一种面向连接的协议,网络程序使用这个协议的时候,网络可以保证客户端和服务端的连接是可靠的,安全的. 如果 A机向 B机发送“hello”,在物理网线上传输的数据不仅仅是“hel ...

  6. Java中连接MySql数据库的例子

    Java中连接MySql数据库的例子: package com.joinmysql.demo; import java.sql.DriverManager; import java.sql.Resul ...

  7. 最常用的C++序列化方案:protobuf

    参考链接:最常用的两种C++序列化方案的使用心得(protobuf和boost serialization) [c++] Google Protobuf库1. 什么是序列化?程序员在编写应用程序的时候 ...

  8. docker学习路线图

    https://yq.aliyun.com/articles/40494?spm=a2c4e.11153959.teamhomeleft.23.6ea918b1KErlfs

  9. contest-20191022

    盘王节 sol 可以发现只有打光御符或完全不打御符两种情况.分开考虑,不打的双指针扫描,用最大的配最小的 打光的可以先贪心的打,然后当成0有无限个, 祝著节 sol 考虑求出最小生成树,记边权和为su ...

  10. Spring Boot项目生成jar包,并在windows服务器中注册成服务,开机启动

    背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是 ...