• Java学习之异常篇


    Java学习之异常篇

    0x00 前言

    计划这几天把Java SE的基础都给总结完,然后开始我的web部分。

    0x01 异常概念

    说到异常,第一个联系到的可能就是bug,但是我们需要了解一下异常到底是怎么去爆出的。

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

    在java里面异常分成了一个单独的类,产生异常其实就是创建了一个异常的对象并且抛出异常对象。而抛出异常后处理方式就是直接中断程序。

    0x02 异常体系

    异常的机制其实是为了我们更好的找到程序中的问题,异常的根类是Throwable,该类下有两个子类,分别是Error和Exception。

    一般我们所说的异常就是Excption,一些可以改进代码避免的错误,需要做一些异常处理。
    而Error是一些无法解决的报错。

    0x03 异常处理

    声明异常throws

    声明异常是将问题标注出来,报告给调用者。如果方法内通过throw抛出了编译时异常,而没有捕获处理,那么必须通过throws进行声明,让调用者去处理。

    异常声明格式:


    饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2…{ }

    public static void main(String[] args) throws Exception {
            
    
    
    
        }
    

    异常捕获

    这种声明只能让程序能够编译成功,如果再程序运行当中,产生了一些不当的操作,就会抛出该异常,程序直接就终止了,我们需要对该异常做出处理。

    异常捕获可以对出现的异常做出对应的处理,这时候就可以用到try-catch的方式来捕获异常。

    异常捕获定义格式:

    try{
        ...
    }catch(异常类型 e){
        ...
    }
    
    

    完成的定义格式:

    try{
        ...
    }catch(异常类型 e){
        ...
    }finally{
        ...
    }
    
    

    这里try代码块里面代表的是可能产生异常的代码,catch里面则是抛出异常执行的代码,而finally代码块内,无论代码是否抛出异常都会执行的代码。

    0x04 结尾

    关于异常的内容其实比较少,这里就做一个简单的记录

  • 相关阅读:
    从内存池到连接池 老码农眼中的资源池
    资源池(从内存池到连接池)
    资源池设计模式 (Resource Pool)和数据池的简单实现
    数据库连接池的工作原理
    原理 : 线程池、连接池、内存池
    聚簇索引与非聚簇索引(也叫二级索引)
    MyISAM 和 InnoDB 索引的区别
    MySQL 聚簇索引&&二级索引&&辅助索引
    关于如何提高Web服务端并发效率的异步编程技术
    为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
  • 原文地址:https://www.cnblogs.com/nice0e3/p/13450043.html
Copyright © 2020-2023  润新知