韩顺平循序渐进学Java零基础 第12章 异常

Posted Spring-_-Bear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了韩顺平循序渐进学Java零基础 第12章 异常相关的知识,希望对你有一定的参考价值。

第12章 异常

444. 异常处理入门

445. 异常基本介绍

  • 执行过程中发生异常事件可分为两大类
  1. Error(错误):Java 虚拟机无法解决的严重问题,如 JVM 系统内部错误、资源耗尽等严重情况
  2. Exception(异常):其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理;分为编译时异常和运行时异常

446. 异常体系图

447. 五大运行时异常

448. 异常课堂练习

449. 异常处理机制

  • 处理了异常,程序继续执行,若有可能抛出异常未处理,则由 JVM 打印异常信息后退出程序

450. try-catch

451. try-catch练习

public int method() 
   int i = 1;
   try 
       i++;
       String[] names = new String[3];
       if (names[i].equals("lcx")) 
       
       return i;
    catch (NullPointerException e) 
       return ++i;
    finally 
       // return result: 4
       return ++i;
   


public int method1() 
   int i = 1;
   try 
       i++;
       String[] names = new String[3];
       if (names[i].equals("lcx")) 
       
       return i;
    catch (NullPointerException e) 
       // return result: 3
       return ++i;
    finally 
       ++i;
   

  • 如果出现异常,则 try 中发生异常语句后的语句不再执行

452. try-catch最佳实践

453. throws入门案例

  • 如果一个方法中的语句执行时可能生成某种异常,但不能确定如何处理这种异常,则可以在方法声明处显式地抛出异常,由调用者自行处理

454. throws使用细节

  • 编译异常必须处理,对于运行时异常,如不处理则默认 throws
  • 子类重写父类的方法时,子类抛出异常的类型要么和父类抛出的一致,要么只能是父类抛出异常的子类

455. 自定义异常

  • 如果继承 Exception,则属于编译异常,必须显式处理或抛出
  • 如果继承 RuntimeException,则属于运行时异常,可以默认 throws 处理,较为方便

456. throw VS throws

意义位置抛出内容说明
throws异常处理的一种方式方法声明处异常类型
throw手动生成异常对象方法体中异常对象

457. 课后作业1

458. 课后作业2

459. 异常处理小结

以上是关于韩顺平循序渐进学Java零基础 第12章 异常的主要内容,如果未能解决你的问题,请参考以下文章

韩顺平循序渐进学Java零基础 第24章 零基础学MySQL

韩顺平循序渐进学Java零基础 第27章 正则表达式

韩顺平循序渐进学Java零基础 第14章 集合

韩顺平循序渐进学Java零基础 第01-08章

韩顺平循序渐进学Java零基础 第01-08章

韩顺平循序渐进学Java零基础 第13章 常用类