博客
关于我
异常处理Java-----学习笔记整理
阅读量:303 次
发布时间:2019-03-03

本文共 1315 字,大约阅读时间需要 4 分钟。

Java异常处理详解

一、异常概述

错误可以产生于程序员无法预料到的各种情况或是由于超出程序员控制之外的环境因素。在Java中,程序运行时产生的一些错误称之为异常。异常是一个程序执行期间发生的事件,中断了正在执行的程序的正常指令流。

二、错误(Error)

错误不是异常,是脱离程序员控制的问题。Throwable类的子类包括Exception和Error。Throwable的两大子类是Exception和Error。Exception和Error的主要区别在于,Error表示系统内部错误或资源耗尽,这类错误比较严重,通常无法通过catch语句来处理。

三、捕捉异常

try、catch、finally是Java中用于处理异常的关键语句。try用于捕获可能发生异常的Java语句,catch用于处理捕获的异常,finally用于处理异常信息(如资源释放)。通过try-catch语句可以捕获并处理异常,确保程序的正常运行。

四、Java中常见的异常

Java程序运行过程中可能会抛出各种异常。常见的异常包括ClassCastException、ClassNotFountException、ArithmeticException、ArrayIndexOutOfBoundsException、ArrayStoreException、SQLException、NullPointerException、NoSuchfieldException、NoSuchMethodException、NumberFormatException、NegativeArraySizeException、StringIndexOutOfBoundsException、IOException、IllegalAccessException等。

五、自定义异常

自定义异常的步骤如下:

  • 创建自定义异常类
  • 在方法中通过throw关键字抛出异常
  • 如果当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理
  • 捕获并处理异常,否则在方法的声明处通过throws关键字指明要抛出的异常
  • 在出现异常的方法的调用者中捕获并处理异常
  • 六、使用异常的原则

  • 避免过多使用异常会给系统增加负担
  • 在方法中使用try-catch捕获异常时,要对异常进行处理
  • try-catch语句块的范围不要太大,不利于对异常的分析
  • 一个方法被覆盖是,覆盖它的方法必须抛出相同的异常或子异常
  • 捕获的异常要有意义
  • 七、运行时异常

    RuntimeException是程序运行过程中产生的异常。非运行时异常包括Error类及其子类,表示Java运行系统中内部错误或资源耗尽的错误,这类错误比较严重。Exception类称为非致命性异常,可以通过捕捉处理后继续程序执行。

    八、使用throws抛出异常

    在使用throw语句抛出异常时,需要注意以下几点:

  • throw关键字通常用于方法体中,抛出一个异常对象。
  • 通过throw关键字抛出异常后,如果想在上一级代码中捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法的声明中指明要抛出的异常。
  • 抛出多个异常时使用逗号分隔。
  • 转载地址:http://fcul.baihongyu.com/

    你可能感兴趣的文章
    Nginx 配置解析:从基础到高级应用指南
    查看>>
    nginx+php的搭建
    查看>>
    nginx+tomcat+memcached
    查看>>
    nginx+Tomcat性能监控
    查看>>
    nginx+uwsgi+django
    查看>>
    Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
    查看>>
    nginx-vts + prometheus 监控nginx
    查看>>
    Nginx下配置codeigniter框架方法
    查看>>
    Nginx之二:nginx.conf简单配置(参数详解)
    查看>>
    Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
    查看>>
    Nginx代理初探
    查看>>
    nginx代理地图服务--离线部署地图服务(地图数据篇.4)
    查看>>
    Nginx代理外网映射
    查看>>
    Nginx代理模式下 log-format 获取客户端真实IP
    查看>>
    Nginx代理解决跨域问题(导致图片只能预览不能下载)
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
    查看>>
    nginx反向代理
    查看>>
    nginx反向代理、文件批量改名及统计ip访问量等精髓总结
    查看>>
    Nginx反向代理与正向代理配置
    查看>>