美文网首页
Android 异常机制分析

Android 异常机制分析

作者: 没有了遇见 | 来源:发表于2023-08-06 12:23 被阅读0次
异常分类.png

)

什么是异常????

字面意思就是不正常的情况,叫做异常
java中出现的非正常情况导致Jvm停止的情况,统称为异常 异常类是Throwable

Throwable

  • Error 错误严重问题

    • VirtualMachineError 虚拟机异常
      • StackOverFlowError
      • OutOfMemoryError
    • AWTError
  • Exception 异常

    • RuntimeException 运行时异常
    • 非运行时异常(编译时异常)

Throwable

Throwable类是Java语言中所有Error和Exception的超类。只有作为此类实例(或其子类之一)的对象才会由Java虚拟机抛出,或者可以由Java抛出语句抛出。类似地,只有这个类或它的一个子类可以是catch子句中的参数类型。为了在编译时检查异常,Throwable和任何不属于RuntimeException或Error子类的Throwable子类都被视为已检查异常。

已检查出的异常和Throwable 构成了所有java所有异常.

Throwable分类

  • Error 错误
  • Exception

1.Error 程序中出现的严重问题问题,不修改程序无法运行

Error是Throwable的一个子类,是所有错误的超类,被设计出一个应用不可捕捉的异常情况.不需要在throws句子中声明 在方法执行期间可能抛出但未捕获的Error的任何子类,因为这些错误是不应该发生的异常情况。也就是说,为了在编译时检查异常,Error及其子类被视为未检查的异常。

Error所产生的错误都是虚拟机所产生的的错误,被设计成不能被捕捉只能崩溃来处理.

Error 是严重的代码错误会导致虚拟机崩溃需要优化代码来处理问题.

2.Exception 异常,java中所有异常的超类

  • RuntimeException 运行时异常(不可检测异常)
  • 非运行时异常(编译时异常,可检测异常,编译期可查看报错,不修改不能运行程序

3.异常处理tyr{}catch(){}finally{}

执行顺序

  • 无异常 try-->finally
  • 有异常且处理异常 try--> catch-->finally
  • 有异常不处理 try--> 执行 catch没有处理掉异常 ,直接抛给了Jvm finally会执行 但是finally以后的代码不执行

4: 声明异常 throws

自己不想或者没能力处理异常的时候可以将异常声明出来 ,将问题抛给方法调用者,这就是声明异常

public void method() throws Exception{
}

5:抛出异常 throw

程序出于某种目的要中断逻辑,不继续执行的时候就可以抛出异常

public void method(){
throw new Exception();
}

相关文章

网友评论

      本文标题:Android 异常机制分析

      本文链接:https://www.haomeiwen.com/subject/vpwbpdtx.html