JAVA异常分类

一 基本概念
Throwable是所有异常的根。java.lang.Throwable
Error:错误,java.lang.Error
Exception: 异常,java.lang.Exception
 
二、Exception 
一般分为checked和Runtime两种,所有RuntimeException及其子类的实例都被称为Runtime异常,不属于该范畴的都被称为CheckedException
 
1、checked异常
    只有java提供了checked异常,java认为checked异常都是可以被处理的异常,所以java程序必须处理checked异常,如果程序没有处理checked异常,该程序在编译时就会发生错误无法变异,这体现了java的设计哲学:没有完成错误处理的代码根本没有机会被执行,对checked异常有两种处理方法:
1)知道怎么处理该异常用trycatch
2)不知道怎么处理的异常直接剖出该异常
比较熟悉的checked异常有 NoClassFoundException ,NoSuchMethodException IoException
 
2)运行时异常
数组越界,除数为0 等,其产生频繁,处理麻烦,若是心事申明或是捕获将对程序的可读性和运行效率影响很大,所以又系统自动检测并将他们交给缺省的异常处理程序,也可以显示的捕获他们
常见异常如下:
java.lang.ArithmeticException
Java.lang.ArrayStoreExcetpion
Java.lang.ClassCastException
Java.lang.IndexOutOfBoundsException
Java.lang.NullPointerException
 
三、Error
当程序发生不可控的错误时,通常做发生通知用户并终止程序的执行,与异常不同的是Error及其子类对象不应被抛出
 
Error是Throwable的子类,代表编译时间和系统错误,用于指示合理的应用程序不应该试图捕获的严重问题
Error是java 虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不做处理
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2020-04-20 19:01  Krystal_*^*  Views(227)  Comments(0)    收藏  举报