异常概念&异常体系和异常分类
异常概念&异常体系
异常,就是不正常的意思。在程序执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。
在java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。
Java处理异常的方式是中断处理
异常体系:
异常机制其实是帮助我们找到程序中的问题,异常的根类是Throwable,其下有两个子类:
Error与Exception,平常所说的异常值Exception。(Throwable是最顶层的类有两个子类Error和Exception)
Throwable体系:
>Error:严重错误Error,无法通过处理的错误,只能事先避免,好比绝症。
>Exception:表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行, 是必须要处理的。
printStackTrace():打印异常的详细信息。
包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调式阶段,都得使用printStackTrace。
getNessage():获取发生异常的原因。
提示给用户的时候,就提示错误原因。
toString() : 获取异常的类型和异常描述信息(不用)。
异常分类
java.lang.Throwable:类是Java语言中所有错误或异常的超类。
Exception:编译期异常,进行编译(写代码)java程序出现的问题
RuntimeException:运行期异常,java程序运行过程中出现的问题
异常就相当于程序得到了一个小毛病(感冒, 发烧),把异常处理掉,程序可以继续执行
Error:错误
错误就相当于程序得到了一个无法治愈的毛病,必须修改源代码,程序才能继续执行
给虚拟机处理异常,中断处理
public static void main(String[] args) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse("1999-0909"); System.out.println(date); }
编译异常把异常处理后,后续代码可以继续执行
public static void main(String[] args) /*throws ParseException*/ { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try { date = sdf.parse("1999-0909"); } catch (ParseException e) { e.printStackTrace(); } System.out.println(date); System.out.println("==das=="); }
运行期间异常
int[] arr={1,2,3}; System.out.println(arr[3]);
进行处理
public static void main(String[] args){ int[] arr = new int[]{1,2,3}; try { System.out.println(arr[3]); } catch (Exception e) { System.out.println(e); } System.out.println("==...=="); }
Error错误
内存溢出错误,创建的数组太大,超出给JVM分配的内存
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix