常见的五个编译时异常:(解释来自JDK 1.6 API)

除非有特别说明,以下所有异常的父类是Exception

1.SQLException :提供有关数据库访问错误或其他错误的信息的异常。

( 比如SQL语句写错,访问的表不存在,连接数据库失败等等)

2.IOexception :表示发生了某种I / O异常的信号。此类是由失败或中断的I / O操作产生的一般异常类。

( 广泛的说,什么时候会有IOException ,比如你文件都不到的时候 ,你在做数据库操作的时候数据库底层出现问题 ,或者你系统IO出问题了 ,系统拿不到文件句柄 ,你说的读着读着突然被删了,你可以试试,书不定真可以 ,你可以看有多少IOExeption个子类,差不多就有多少种类型 )(百度知道)

3.FileNotFoundException :当试图打开指定路径名表示的文件失败时,抛出此异常。(IOexception的子类)

( 注意,这里的找不到是在你的编译结果文件夹里面找不到,而不是在你的工程里面找不到,很多同学说自己工程里面有这个文件,为什么还要报这个异常?这个时候,你最好跑到你的编译文件放的文件夹下面,比如tomcat的webapps文件夹下面,找找你的工程对应的文件夹,看看那个里面有没有你的文件)(百度知道)

4.ClassNotFoundException :找不到具有指定名称的类的定义。

( 属于编译时异常,是在classloader加载类的时候发现类不存在在类路径的时候报出的。)(百度知道)

5.EOFException :当输入过程中意外到达文件或流的末尾时,抛出此异常。(IOexception的子类)

( 这个一般是因为阻塞引起的,因为server的input.read读不到东西就会阻塞,当你关掉client的时候,server就知道没有东西进来了,所以就报了个异常,其实这个是正常的,只是告诉你,该把socket关闭一下,还有input也关闭一下。)(百度知道)

常见的五个RunTimeException异常:(解释来自JDK 1.6 API)

除非有特别说明,以下所有异常的父类是RunTimeException

1.StringIndexOutOfBoundsException :指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。

(String 的 substring方法 参数index访问下标越界,如:

String a = "abc";

System.out.println(a.substring(1)); //正常,显示“bc”

System.out.println(a.substring(2)); //正常,显示“c”

System.out.println(a.substring(4)); //错误,java.lang.StringIndexOutOfBoundsException: String index out of range: -1 因为一共只有3个字母。)

2.ArrayIndexOutOfBoundsException :用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。

( 当你使用不合法的索引访问数组时会报数组越界这种错误,数组arr的合法错误范围是[0, arr.length-1];当你访问这之外的索引时会报这个错。例如:

int[] arr = {1, 2, 3};

for (int i = 0; i <= arr.length; i++) {

System.out.println(arr[i]); //当i=3时 错误:java.lang.ArrayIndexOutOfBoundsException: 3

})

3. ArithmeticException :当出现异常的运算条件时,抛出此异常。

( 例如,一个整数“除以零”时,抛出此类的一个实例。

double a = 1/0; // java.lang.ArithmeticException: / by zero

System.out.println(a); )

4.IllegaArguementException :抛出的异常表明向方法传递了一个不合法或不正确的参数。

()

5.NullPointerException:当应用程序试图在需要对象的地方使用 null 时,抛出该异常。

( 例子:

String s1 = null;

s1.getBytes(); // java.lang.NullPointerException

System.out.println(s1.getBytes());

这种情况包括:

  • 调用 null 对象的实例方法。
  • 访问或修改 null 对象的字段。
  • 将 null 作为一个数组,获得其长度。
  • 将 null 作为一个数组,访问或修改其时间片。
  • 将 null 作为 Throwable 值抛出。)

常见的五个编译时异常和常见的五个运行时异常相关推荐

  1. java运行时异常的特点是什么_Java运行时异常和非运行时异常

    1.Java异常机制 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类.Java中的异常分为两大类:错误Error和异常Exception,Java ...

  2. java运行时异常与一般异常有何异同_JVM | 虚拟机运行时数据区域划分和使用详解...

    引言   我们经常会被问到一个问题是Java和C++有何区别?我们除了能回答一个是面向对象.一个是面向过程编程以外,我们还会从底层内存管理和垃圾收集方面作出比较.   对于C++而言,程序员既要做程序 ...

  3. 【Java 19】反射 - 反射机制概述、获取Class实例、类的加载与ClassLoader的理解、创建运行时类的对象、获取运行时类的完整结构、调用运行时类的指定结构、动态代理

    反射机制概述.获取Class实例.类的加载与ClassLoader的理解.创建运行时类的对象.获取运行时类的完整结构.调用运行时类的指定结构.动态代理 反射 1 Java反射机制概述 1.1 Java ...

  4. Effective Java之对可恢复的情况使用受检异常,对编程错误使用运行时异常(五十八)

    java将所有的错误封装为一个对象,其根本父类为Throwable, Throwable有两个子类:Error和Exception. 异常分成三种结构 1.错误:Error是Throwable 的子类 ...

  5. java 异常 中文_Java中所有的运行时异常,带中文解释

    展开全部 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:Negat ...

  6. java 获取运行时参数,Java8增强反射可以在运行时获取参数名

    技术公众号:Java In Mind(Java_In_Mind),欢迎关注! 原文:Java8增强反射可以在运行时获取参数名 介绍 在JDK增强意见:JPE 118:Access to Paramet ...

  7. 求求大家指点指点我吧——大一C语言题:编写一段程序,计算某个日期为这一年的第几天及第几周的星期几。(使用软件Dev-C++)如下是我代码,感觉还挺对,至少编译时没错误没警告,但是运行时出不来结果啊啊啊

    int days(int month,int year)//定义副分支(month为月份)  {     switch(month)     {         case 1:            ...

  8. 台式计算机在打开程序时 风扇就响,如果台式机正在运行时风扇响了怎么办?...

    打开台式计算机时,主机声音2113很大,这是因为CPU温度很高,并且5261加热器的灰尘太多,无法运行. 4102 解决方法1653: 清洁散热器上的灰尘. 详细步骤如下: 准备工具: 螺丝刀,刷子, ...

  9. 运行java程序时找不到_基本Java运行时程序找不到python

    您设置的$PATH变量不是在Java的执行上下文中继承的.{cdbin>尝试传递Python的执行路径^.在 为此,下面的代码首先检索所有环境变量并创建一个ENV_KEY=ENV_VALUE对数 ...

  10. 2022Java学习笔记七十三(异常处理:运行时异常、编译时异常、异常的默认处理的流程)

    2022Java学习笔记七十三(异常处理:运行时异常.编译时异常.异常的默认处理的流程) 一.异常体系 1.Exception:java.lang包下,称为异常类,它表示程序本身可以处理的问题 2.R ...

最新文章

  1. AR设备单目视觉惯导SLAM算法综述与评价
  2. JDK1.5 新特性
  3. python爬虫知乎图片_Python爬虫入门教程 25-100 知乎文章图片爬取器之一
  4. python-循环语句基础知识
  5. 直播回顾:如何对付臭名昭著的 IO 夯?诊断利器来了 | 龙蜥技术
  6. MySQL 这三道必问面试题,你都会吗?
  7. u12无线网卡linux驱动装不上,腾达(U12)USB无线网卡Linux驱动安装笔记
  8. 计算机毕业设计之java+ssm基于web的考研助手网站
  9. php递归还原,PHP递归调用的小技巧讲解-PHP递归返回值时出现的问题解...-PHP递归算法的详细示例分析_169IT.COM...
  10. 计算机技术三大领域,量化投资策略的运用
  11. 应届毕业生怎么快速找到高薪工作?
  12. 一文看懂IC芯片生产流程:从设计到制造与封装
  13. 切换分支报错:Untracked Files Prevent Checkout
  14. Revit二次开发神技---代码实现Revit所有连接方式
  15. CAD2021精简版安装教程附下载地址
  16. 晨跑健身前最好吃根香蕉
  17. 网络模拟器 eNSP、EVE-NG、GNS3、Packet Tracert
  18. 鸿蒙系统连接家电,美的鸿蒙家电正式上线!华为鸿蒙系统,你很快就能用上!...
  19. 网红的冬天四季如春,人间百味自有芬芳
  20. 形容谣言的四字词语_除四字成语之外的常见熟语集锦

热门文章

  1. 科兴新冠疫苗获准紧急用于巴西3至5岁儿童
  2. 阿里妈妈佣金转换API接口
  3. 新人使用github被标记隐藏怎么解决?Your account has been flagged.
  4. C: 重复宏定义warning: “A“ redefined
  5. 全球与中国汽车磁性探伤解决方案市场投资发展格局及前景战略咨询研究报告2021年版
  6. 爬虫案例 --- Python 爬取淘宝数据存到数据库
  7. 计算机设计大赛国赛演讲稿
  8. php干啥,php是什么意思?php能干啥?
  9. docker中各ID之间的关系和计算(二)-layerID-diffID-chainID-cacheID的计算
  10. 高数下|级数4|手写笔记(绝对收敛与条件收敛)