----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------
什么是异常,我们为什么要关心它
单词“exception”是短语“exceptional event(异常事件)”的缩写,它定义如下:
定义:异常是程序在执行时发生的事件,它会打断指令的正常流程。
异常类的继承层次:Throwable(抛出)----Exception----RuntimerException运行环境
Throwable--------Error错误JVM的错误 暂时不关注
异常:编译时不出错,运行时错误
1.java.lang.ArithmeticException 算术异常
2.java.util.inputMismatchException 类型不匹配异常
3.ArrayIndexOutOfboundsException 数组越界异常
4.Null PointerException 空指针异常
5.ClassNotFoundException 类找不到异常
6.NumberFormatException 数字格式化异常
7.InputMismatchException 输入类型不匹配异常
怎么处理异常:
使用try--------catch 处理异常
try{
可能引发异常的代码
}catch (Exception e){
e.printStacTrace();
}
try块中放尽量少的代码,只有那些会产生异常的代码放在try里(放多的代码回影响程序的运行速度)
try块
|
catch块
|
finally块{}无论是否发生异常都必须执行此块内容
此外还有多重catch块 一般在catch块的最后一个放入异常的父类 Exception
throws 声明该方法会抛出异常
示例:声明抛出异常
public static void divide()throws Exception{}
由程序自行抛出异常
throw new Exception()
throw new Exception(String message)
抛出的异常类型
1.已检查异常
2.Runtime异常
使用throw时通常是使用try---catch 或throws 一起来使用
throws和throw区别:
1.使用不同
throw:用于程序员自行产生并抛出异常
throws:用于声明该方法内抛出了异常
使用的位置不同:
throw:位于方法体内部:可以作为单独语句使用
throws:必须跟在方法参数列表的后面,不能单独使用
内容不同:
throw:抛出一个异常对象,且只能是一个
throws:后面跟异常类,且可以跟多个异常类
自定义异常:
系统不能满足需要
语法:继承Throwable
继承Exception
继承RuntimeException
异常链:
减少代码关联,不丢失异常信息
----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------