zoukankan      html  css  js  c++  java
  • Java 之 异常基础

    一、异常概念

      异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致 JVM 的非正常停止。

      在 Java 等面向对象的编程语言中,异常本身就是一个类,产生异常就是创建异常对象并抛出了一个异常对象。

      Java 处理异常的方式是中断处理。

      异常指的并不是语法错误,语法错误,编译不通过,不会产生字节码文件,根本不能运行。

    二、异常体系

      异常机制 其实是帮助我们找到程序中的问题。

      java.lang.Throwable:类是 Java 语言中所有错误或异常的超类。其下有两个子类:

        Exception异常,进行编译(写代码) java 程序出现的问题,程序员可以通过代码的方式纠正,使程序继续运行。

          Error严重错误,无法通过处理的错误,只能事先避免,必须通过修改源代码,程序才能继续执行。经典代表:VirtualMachineError(堆内存溢出OutOfMemoryError,栈内存溢出StackOverflowError)

      

    三、异常分类

      异常(Exception)的分类:根据编译时期还是运行时期来分类

        运行时期异常RuntimeException 运行时期异常(或它的子类)。又称非受检异常,即在运行时期,检查异常,在编译时期,运行异常不会编译器检测(不报错)。(如:空指针异常、数组下标越界、类型转换异常、数字格式异常)这些异常可以完全避免掉。

        编译时期异常Exception 异常。除了RuntimeException系列以外的,都是编译时异常,又称为受检异常。在编译时期就会检查,如果没有处理异常,则编译失败。(如:IOException、日期格式化异常)  

    四、异常的产生过程解析

      异常的产生过程分析(分析异常的怎么产生的,如何处理异常)

    五、Java 如何处理异常(处理异常的过程)? 

      (1)当程序运行到某一句时,发生了异常,那么程序会先停下来

      (2)程序会在这句代码处,查看原因,生成一个合理“异常对象”,然后“抛”出

      (3)JVM会检测在这句代码的外围,是否有try..catch结构,可以“捕获”它,

         如果可以捕获,那么程序再处理完异常后,继续下面的运行,不会崩溃;

         如果不能捕获,那么会把这个异常继续抛给“上级”,如果“上级”能处理,那么程序从“上级"处理完的代码后面继续运行;

         如果上级也不能处理,那么继续往上抛,一直到达JVM,那么就“崩溃”

  • 相关阅读:
    opencv检测运动物体的基础_特征提取
    混合高斯建模
    计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
    opencv视频读取问题
    混合高斯模型背景显示
    图像显著区域检测代码及其效果图 saliency region detection
    opencv宏
    目标检测与转自背景减除
    混合高斯模型不显示背景
    error C3872: “0x3000”: 此字符不允许在标识符中使用错误 的解决办法
  • 原文地址:https://www.cnblogs.com/niujifei/p/11449170.html
Copyright © 2011-2022 走看看