异常_面试基础

基础打底

什么是异常

程序在运行时,出现了意料之外的运行状态,并阻止了程序正常执行。

异常关键字

Java中的异常通过

  • try
  • catch
  • finally
  • throw
  • throws

注意

  • catch:捕获遗产给,可以同时编写多个catch
  • Exception: 只能写到最后一个catch中,其作用是为了兜底异常。
  • finallly: 无法程序是否有异常发生,并且不论之前的try-catch语句块是否顺利执行完毕,都会执行finally语句。
    • finally不会执行的四种特殊情况
      1. 在finally语句中发生了异常
      2. 在前面的代码中使用了System.exit()退出程序(System.exit(1)–小括号内非零的数字,异常退出;0正常退出
      3. 程序中所有的线程死亡
      4. 关闭CPU

异常的分类

Error
  • 其出现意味着系统出现了不可控的错误,如:StackOverflowError、OutOfMemoryError等
  • 这种情况出现程序无法处理,只能人工介入,对程序可能存在的问题进行分析。

执行以下代码,程序会崩溃。当程序崩溃时,方法的出口无法被执行。也就是说:这种异常无法被程序处理。

public static void errorTest(){
    System.out.println("errorTest start....")
    try{
        throw new OutOfMemoryError();
    }catch (Exception e){
        e.printStackTrace();
    }
    
    System.out.printlu("errorTest end.....")
}
Exception
  • 又分为checked异常(受检异常)和unchecked(非受检异常)
    • checked异常,需要在代码中显示处理,否则编译会报错
    • unchecked异常,

如何声明以及抛出异常

1.声明异常

使用throws关键字声明异常:通常应用在声明方法时,多个异常使用逗号隔开,声明的异常不需要解决,谁调用这个方法,谁解决。

public static void MyException () throws Exception{
	方法体
}

2.捕获异常

使用throw关键字捕获异常: throw now 异常类型,与throws声明的异常类型一致;通常在应用

public class TThrow{
    public void setAge(int age)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值