定义:软件运行过程中,遇到输入不符合要求,程序打不开文件(文件可能不存在或格式不对),空指针,内存或硬盘满了,网络连接失败,非法参数等等这些异常问题,称为异常,Exception。发生在程序运行期间。
简单分类:
1.检查性异常:无法预见,打开一个不存在文件
2.运行时异常:容易被忽略,比喻写没问题,运行出问题
3.错误ERROR:错误不是异常,容易被忽略,栈溢出,错误就出现了,编译是检查不到的。
异常体系结构:
1.Throwable是所有异常的超类
2.异常分两大类:Error和Exception
Error:
1.由java虚拟机生成并抛出,大多数错误与代码编写者执行的操作无关
2. 会选择线程终止
3.类定义错误(NoClassDefFoundError),链接错误(LinkageError),不可查,程序控制能力之外,不允许出现的。
Exception:
1.
这些异常是不检查异常,可以捕获处理也可以不处理
2.程序逻辑导致,应避免
3.Error和Exception区别:
前者程序无法控制,出现时Jvm会终止线程,后者可以被程序处理,应尽可能去处理。
package com.wuming.exception;public class Demo01 {public static void main(String[] args) {//报异常如下// new Demo01().a();//Exception in thread "main" java.lang.StackOverflowError//内存溢出// System.out.println(11/0);//Exception in thread "main" java.lang.ArithmeticException: / by zero//分母不能为0// System.out.println()//Error:(8, 29) java: 需要';'//没有;}public void a(){b();}public void b(){a();} }