java异常

异常的相关概念:
Java在运行过程中或编译过程中,难免会出现一些报错,导致程序运行的中断,这些报错其实指的就是异常。    


所以我们需要如何解决这些错误,也就是如何解决异常。更需要看到报错信息,能够快速找到异常出现的位置,然后将它修改。

异常的分类:
第一级类:
Java中所有异常或错误的顶级父类都是:Throwable类。

第二级类:
其中Throwable分为错误-error和异常-exception 两大类。

error指的是:错误,无法通过代码解决的错误。

exception指的是:异常,可以解决的错误。

第三级类:
error下的子类 和  exception下的子类。

Error详解:
一般是程序中较严重的出错,是虚拟机层面的异常,一旦发生将会导致系统崩溃,无法由程序自身处理,只能通过修改虚拟机的设置,理解为修改虚拟机的相关参数,例如内存大小等。

例如以下代码就会出现内存溢出错误:
            int  arr [] = new int[1000000000];
            System.out.println(arr.length);

OutOfMemoryError:又称OOM,表示内存溢出错误,通常发生在内存泄露或内存不足的情况。

Exception详解:
Java中最常出现的就是异常,俗称BUG,没有   没有BUG的程序,如果某个程序没有BUG,那么说明这个程序是个垃圾程序。

异常又分为两大类:运行时异常和编译时异常。

运行时异常:指的是运行过程中才出现的异常。
编译时异常:指的是编译过程中就出现了异常。
编译时异常:
理解为代码写完后都没运行,就报错。

编译时异常解决方式:
分为2种  推荐用第二种

1.抛异常(甩锅)
直接在异常代码所在的方法的尾巴后面加上 throws XxxException   一般是throws Exception
甩锅:谁调用它,谁去解决它,如果是Main方法调用,则不解决了。

2.抓异常(当场解决)
如何抓异常(当场解决) 语法如下:

try{
      可能出现异常的代码;
}catch (可能出现的异常类  变量名){
      哪一行如果出现了异常就立即进入这里而非报错;
}

抓异常的升级版:

try{
           可能出现异常的代码;
}catch (可能出现的异常类  变量名){
           哪一行如果出现了异常就立即进入这里而非报错;
}finally{
           不管有没有出异常,都要执行这里,
}

衍生:
try和catch的关系:如果想对catch的异常进行分类,可以出现多个catch

try后面可以不跟catch

try不能单独使用,要么跟catch一起 要么跟finally一起

catch和finally必须要结合try使用

常见的运行时异常:
空指针异常(NullPointException)
数组越界异常(ArrayIndexOutOfBoundsException)
数字格式化异常(NumberFormatException)
算数运算符异常(ArithmeticException)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值