异常的类型
throwable
|--error
error是由于系统错误`是无法恢复的
|--exception
|--编译时异常(可查异常)
必须处理,不处理编译是通不过的,两种处理方式:要么throw出去要么catch处理掉
|--runtimeException(unchecked exception)
运行时才出的异常,编译是检查不出来的,so不处理也能通过
所以可以处理也可以不处理,不处理系统奔溃终止程序,处理的话可以声明也可以catch
在接口上申明exception就是为了处理runtimException,防止系统奔溃程序直接终止