* java.lang.ArithmeticException:算术异常
* java.util.InputMismatchException:输入不匹配
* java.lang.ArrayIndexOutOfBoundsException:数组下标越界
* 异常(例外):程序在执行的过程中出现意外的情况,导致程序中断执行
* Java中的异常处理机制: try...catch...finally throws throw
* try..catch..finally语法: 类比多重if...else if...else if...else条件结构记忆
* try:保存的可能出现异常的代码
* catch:处理异常的代码或消息;只有发生的异常与指定的异常类型相匹配时才会执行
* 只有当程序的异常被捕获并处理后,程序才能继续执行
* 注意:如果有多个catch块,其中catch中的异常类型范围应该从小到大
* try{
* //可能出现异常的代码
* }catch(异常类型 对象名){
* //处理异常的代码或消息
* }catch(异常类型2 对象名){
* //处理异常的代码或消息
* }....
* }finally{
* //不论异常是否发生都会执行的代码(释放资源)
* }
*
* java.lang.Exception类:所有异常类(XxxxxException)的父类
*}catch(异常类型 对象名){
*
*}....
*}finally{
* //总是会被执行的代码
*}
*finally中代码总是会被执行,它执行在return之前。
*只有一种情况finally中的代码才不会执行:调用System.exit(1):终止正在运行的JVM
*
* throws:声明方法时,定义该方法抛出的异常类型。谁调用谁处理。
* 语法:
* 修饰符 返回值类型 方法名(参数列表) throws 异常类型1,异常类型2....{
*
* }
* throw:在方法中抛出异常对象,throw关键字后边跟的异常对象,调用者可以继续对所抛出的异常进行处理
* throws和throw的区别:
* 1.位置不同:
* throws在方法声明时
* throw在方法体中
* 2.类型和个数不同
* throws后跟的是异常类型,可以是多个
* throw后跟的是异常对象,一个
* 3.作用不同
* throws声明方法是抛出异常,告知调用者方法中存在异常的风险
* throw是方法处理过程中将异常对象抛出,调用者可以进一步对异常对象进行处理
*