异常概念&异常体系
ava.Lang. Throwable:类是J0va语言中所有错误或异常的超类。Exception:编译期异常,进行编译(写代码)avo程序出现的问题Runtimeexception:运行期异常,jw程序运行过程中出现的问题昇常就相当于程序得了一个小毛病(感冒,发烧)把昇常处理掉,程序可以继续执行(吃点药,继续革命工作Error:错误错误就相当于程序得了一个无法治煎的毛病(非典,艾滋).必须修改源代码,程序才能继续执行
异常的概念:
概念:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM非正常停止。异常本身是一个类,产生异常就是创建异常对象并抛出一个异常对象
异常,就是不正常的意思。在生活中:医生说.你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响
在程序中的意思就是︰
异常∶指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。
在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。 Java处理异常的方式是中断处理。
异常的体系:
异常机制其实是帮助我们找到程序中的问题,异常的根类是java.lang.Throwable,其下有两个子类
:java.lang.Error与java.lang . Exception,
平常所说的异常指java.lang.Exception 。
Throwable体系:
Error:严重错误Error,无法通过处理的错误,只能事先避免。
Exception:表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行,是必须要处理的。
java.lang.Throwable:类是Java语言中所有错误或异常的超类
Exception:编译期异常,进行编译(写代码)java程序出现的问题
RuntimeException:运行期异常, java程序运行过程中出现的问题
异常就相当于程序得了一个小毛病(感冒,发烧),把异常处理掉,程序可以继续执行(吃点药,继续工作)
Error:错误
错误就相当于得了一个无法治愈的毛病(非典,艾滋),必须修改源代码,程序才能继续执行。
异常分类
我们平常说的异常就是指Exception,因为这类异常一旦出现,我们就要对代码进行更正,修复程序。异常(Exception)的分类:根据在编译时期还是运行时期去检查异常?
编译时期异常:checked异常。在编译时期,就会检查,如果没有处理异常,则编译失败。(如日期格式化异常)。
运行时期异常:runtime异常。在运行时期,检查异常.在编译时期,运行异常不会编译器检测(不报错)。(如数学异常)
java.Lang. Throvable:类是Java语言中所有错误或异常的超类。
Exception:编译期异常,进行编译(写代码乃avo程序出现的问题
RuntimeException:运行期异常,jaa程序运行过程中出现的问题
异常就相当于程序得了一个小毛病(感冒,发烧),把异常处理掉,程序可以继续执行(吃点药,继续革命工作)
Error:错误
错误就相当于程序得了一个无法治煎的毛病(非典,艾滋).必须修改源代码,程序才能继续执行
public static void main(String[] args) { // Exception:编译期异常,进行编译(写代码)java程序出现的问题 /* SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" );//用来格式化日期 Date date = null; try { date = sdf.parse("1999-0909" );//把字符串格式的日期,解析为Date格式的日期 }catch (ParseException e) { e.printStackTrace(); } System.out.println(date); */ // RuntimeException:运行期异常,java程序运行过程中出现的问题 /* int[] arr = {1,2,3}; System.out.println(arr[0] ); try { //可能会出现异常的代码 System.out.println(arr[3]); }catch(Exception e){ //异常的处理逻辑 System.out.println(e); } */ // Error:错误 // outoiemoryErron: Java heap space // 内存溢出的错误,创建的数组太大了,超出了给VIr分配的内存*/ // int[] arr = new int[1024*1024*1024]; // 必须修改代码,创建的数组小一点 int[]arr = new int[ 1024*1024]; System.out.println("后续代码");
可查异常
public static void main(String[] args) { File f=new File("d:/l.txt"); System.out.println("试图打开文件"); try { new FileInputStream(f); System.out.println("成功打开"); } catch (FileNotFoundException e) { System.out.println("文件不存在"); e.printStackTrace(); } }
运行时异常
public static void main(String[] args) { //任何除数不能为0:ArithmeticException int result=5/0; //下标越界异常:ArrayIndexOutOfBoundsException int j[]=new int[5]; j[10]=10; //空指针异常:NullPointerException String str=null; str.length(); }
错误Error
public static void main(String[] args) { StringBuffer sb =new StringBuffer(); for (int i = 0; i < Integer.MAX_VALUE; i++) { sb.append('a'); } }
原创文章,作者:jamestackk,如若转载,请注明出处:https://blog.ytso.com/272637.html