[toc]
# 一、异常概述
异常机制是为了提高我们程序的健壮性和容错性而存在的
## 1.异常的体系
![](https://img.kancloud.cn/fb/f8/fbf89e6f3b0b349ed28b7219a93ca9c1_499x274.png)
类Throwable下面有两个子类:Error(错误)和Exception(异常)
## 2.错误
它是程序出现了严重问题,这种问题程序解决不了
## 3.异常
异常通常分为两类:
1.运行时异常(RuntimeException):可以编译通过,程序运行时抛出来的异常。
2.编译期异常:这个异常必须要处理,否则无法编译通过。
3.1运行时异常
异常案例
~~~
public class Exceptiondemo {
public static void main(String[] args) {
int result = divide(10,0);
System.out.println(result);
}
public static int divide(int a,int b){
int c=0;
c=a/b;
return c;
}
}
~~~
a/b除法的时候若b=0,那么jvm会创建一个ArithmeticException对象
![](https://img.kancloud.cn/6f/ef/6fef65728ddbbadd77c469ac85561a99_626x315.png)
运行时异常对象会自动地向上抛出,调用端再抛给jvm,jvm打印异常信息