Java笔记34——程序异常

前言

在程序开发当中难免会遇到程序的错误和异常,在这里给小伙伴分享我对Java语言的异常处理机制的理解。

异常概述

程序异常是指在程序的运行过程中所发生的不正常的事件,如:文件找不到、网络连接失败、非法参数等。它会中断正在运行的程序Java编程语言使用异常处理机制为程序提供了错误处理的能力。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。

Java程序异常层次结构图

Java笔记34——程序异常_第1张图片

异常的捕获

try-catch
try-catch-finally
特点:不管有没有发生异常都会执行finally,除非System.exit(1);
多重catch
	特点:捕获代码块中不同的异常
	引发多种类型的异常
		排列catch 语句的顺序:先子类后父类
		发生异常时按顺序逐个匹配
		只执行第一个与异常类型匹配的catch语句

try-catch捕获的三种情况:

  1. 程序正常运行
  2. 程序发生异常,catch语句能匹配到类型,异常得到处理,程序还可以正常执行
  3. 程序发生异常,catch语句中异常类型不能匹配到,程序终止执行

分析异常

e.printSatckTrace();可根据打出的堆栈信息分析
e.getMessage();

常见的异常类型

Exception              			//异常层次结果的根类 
ArithmenticException   			//算术错误情形,如以零做除数 
ArrayIndexOutOfBoundsException  //数组小于或者大于实际数组大小 
NullPointerException 		    //尝试访问null对象成员 
ClassNotFoundException 		 //不能加载所需的类(常见于多态中向下转型) 
IllegalArgumentException 	 //方法接收到非法参数 

异常处理机制导图

Java笔记34——程序异常_第2张图片

异常声明

在一个方法执行的时候出现异常,方法本身不想处理,只想通知调用者,由调用者处理,此时可在方法上面声明一个异常。

语法规则

在方法头使用throws关键字声明异常;

例如:

public void method() throws Exception{}

总结

Java开发中遇到最多的就是我们常说的空指针异常,遇到空指针异常不要慌,我要看编译器报出空指针的那行代码然后分析为什么包空指针异常,当你解决错误的时候,你的程序编写能就在不断的提高。

你可能感兴趣的:(Java)