目录
异常
异常概述
异常:异常就是Java程序在运行过程中出现的错误。
异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象。其实就是Java对不正常情况进行描述后的对象体现。
如,数组下标越界异常,空指针异常
异常分类
A.严重问题:Error是严重的问题,我们不处理,如内存溢出(OOM)
B.问题:Exception(异常)
编译时异常和运行时异常的区别
1.编译时期异常:除了RuntimeException都是编译时期异常,必须处理,不然无法通过编译运行。
2.运行时期异常:RuntimeException类及其子类,一般情况下,不会对问题本身处理,因为问题是在写代码的过程中由于逻辑不严谨导致的。
异常案例
例:除数为0
public class ExceptionTest1 {
public static void main(String[] args) {
int a=120;
int b=0;
System.out.println(a/b); //除数不能为0
System.out.println(a);
}
}
因为0不能作为除数,所以a/b会报错,也就是异常,后面的代码也不会继续执行
如果我们不做出任何处理,JVM会默认处理
JVM的默认处理方案:
把异常的名称,错误原因及异常出现的位置等信息输出在了控制台 ,程序停止执行
异常处理:try…catch…finally方法
try...catch...finally处理方式:
try{
可能出现问题的代码
}catch(异常名 变量名){
针对出现问题后的处理代码
}finally{
只要是程序顺利执行,finally里面的内容无论如何都会执行
}
变形格式:
try{
可能出现问题的代码
}catch(异常名 变量名){
针对出现问题后的处理代码
}
继续0不能作为除数的例子
public class ExceptionTest1 {
public static void main(String[] args) {
int a=120;
int b=0;
try{
System.out.println(a/b);
}catch (ArithmeticException o){
System.out.println("除数为0");
}
System.out.println(a);
}
}
经过