异常指异于常态,和正常情况不一样,有错误出现。阻止当前方法或作用域执行的问题,称之为异常。
  Java中所有的与异常有关的类都继承于Throwable类,Throwable类有两个儿子,一个是Error类,一个是Exception类。
  

  Error类异常包括有虚拟机错误,线程死锁等,Error异常出现,程序就彻底崩溃了。
  Exception异常的出现,说明程序存在问题,可能是编码、环境、用户操作输入等原因而导致异常,Exception有很多儿子,常见为RuntimeException(运行时异常),还有其他异常。RuntimeException为非检查异常,而其他异常为检查异常。
  

  引起RuntimeException异常的情况有很多,比如引用了一个空对象的属性火方法、数组访问越界、错误的类型转换、算术方面所引起的异常(如除0)等,以上四种情况分别对应于空指针异常(NullPointerException)、数组下标越界异常(ArrayIndexOutOfBoundsException)、类型转换异常(ClassCastException)和算术异常(ArithmeticException),当然还有其他很多种运行时异常,他们都是RuntimeException的子类,这里不逐一介绍了。
  运行时异常会由Java虚拟机自动抛出并自动捕获,而运行时异常的出现绝大部分情况下说名代码本身存在问题,应该从逻辑上改进代码
  

  检查异常,引起检查异常出现的原因可能是多种多样的奇葩原因,如文件异常(IOException)、SQL异常(SQLException)等,与RuntimeException不同,对于检查异常需要自己手动添加捕获以及处理语句

Java异常简介的更多相关文章

  1. Java异常(一) Java异常简介及其架构

    概要 本章对Java中的异常进行介绍.内容包括:Java异常简介Java异常框架 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3544168.html ...

  2. Java异常简介、异常捕获还是上抛总结

    概要 本章对Java中的异常进行介绍.内容包括:1.Java异常简介2.Java异常框架 一.Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序 ...

  3. Java异常(一)Java异常简介及其框架

    Java异常(一)Java异常简介及其框架 概要 本章对Java中的异常进行介绍.内容包括:Java异常简介Java异常框架 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机 ...

  4. 第11章 Java异常与异常处理

    1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...

  5. Java异常架构与异常关键字

    Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性.在有效使用异常的情况 ...

  6. Java 异常面试题(2020 最新版)

    Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程 ...

  7. 面试阿里,字节跳动90%会被问到的Java异常面试题集,史上最全系列!

    Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程 ...

  8. Java异常系列

    Java异常(一) Java异常简介及其架构 Java异常(二) <Effective Java>中关于异常处理的几条建议 Java异常(三) <Java Puzzles>中关 ...

  9. Java异常机制简介

    什么是异常? 异常一般是指程序在编译期没有问题,但是在程序运行期出现的错误,一个程序会因为出现异常而终止运行,也就是我们常说的挂掉,在多线程下,异常只会影响所在的线程,对其他线程没有影响. Java异 ...

随机推荐

  1. js 控制表单提交

    <form id="form2"> <input type="text" name="text" value=" ...

  2. MYSQL5.7无法启动服务原因及解决方案

    mysql5.7安装完成后,想要把它发布成windows服务: 首先,应该配置新的配置文件,然后将cmd打开到安装目录的bin文件,键入: mysqld --default-file="D: ...

  3. longjmp setjmp and volatile

    /******************************************************************************* * 版权所有: * 模 块 名: * ...

  4. centos 7 下安装numpy、scipy等python包

    本文适用于刚入门的小白,欢迎大牛们批评指正. 因为要开始数据分析,而python又不像R和matlab那么简洁.需要安装的包很多~ 网上找了好多牛人博客,想在centos7下安装numpy,scipy ...

  5. js⑧

    window对象表示浏览器中打开的窗口, 它是JavaScript浏览器对象模型中的顶层对象.其中还包括了 - Document: 使我们可以从脚本中对 HTML 页面中的所有元素进行访问. - Hi ...

  6. multipath tcp experiment

    git clone https://github.com/Neohapsis/mptcp-abuse.git sudo apt-get install python-pip sudo pip inst ...

  7. shape的简单用法

    shap节点-----------------------------------定义shape的值,必须是下面的之一:"rectangle" 矩阵,这也是默认的shape&quo ...

  8. FastFDS配置安装

    先说环境: win7旗舰版,配CRT连接虚拟机,虚拟机用的vmware Player,安装的CentOS6.4版本. 1.添加用户 useradd fastdfs 这步可以不做,后面的操作用root账 ...

  9. 转载--提高C++性能的编程技术

    读书笔记:提高C++性能的编程技术   第1章 跟踪范例 1.1 关注点 本章引入的实际问题为:定义一个简单的Trace类,将当前函数名输出到日志文件中.Trace对象会带来一定的开销,因此在默认情况 ...

  10. ios创建自定义控件必须具备的三个方法

    1.当用代码创建控件时调用 -(instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { ...