常见的五个编译时异常和常见的五个编译时异常 |
您所在的位置:网站首页 › linux中最常用的编译器是哪一种 › 常见的五个编译时异常和常见的五个编译时异常 |
一、区别 看一个异常是运行时还是编译时异常,最简单的方法是看他的父类或者看他的爷爷、太爷爷...(开个玩笑)是不是RuntimeException。 比较通俗易懂的方法是,你把代码写出来之后,有红色波浪线提示你抛出或捕获异常,这个时候正处于编译阶段,所以是编译时异常,如下图所示: 二、常见的编译时异常 1.FileNotFoundException 2.ClassNotFoundException 3.SQLException 4.NoSuchFieldException 5.NoSuchMethodException 6.ParseException 三、常见的运行时异常 1.NullPointerException 2.ArithmeticException 3.ClassCastException 4.ArrayIndexOutOfBoundsException 5.StringIndexOutOfBoundsException --------------------- 常见的五个编译时异常:(解释来自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 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |