1.java异常处理机制
java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。当程序运行出现意外情形时,系 统会自动生成一个 Exception对象来通知程序,从而实现将“业务功能实现代码”和“错误处理代码”分离, 提供更好的可读性
2.使用try…catch捕获异常
一、Java异常处理机制为:抛出异常,捕捉异常,处理异常。
二、Java…catch语法格式:
try { //业务功能代码 }
catch(异常类1 e1)
{ //异常处理代码1 }
catch(异常类2 e2)
{ //异常处理代码1 }

catch(异常类n en)
{ //异常处理代码n }
三、在使用try…catch捕获处理异常时需要注意:
 不要过度使用异常,不能使用异常处理机制来代替正常的流程控制语句
 异常捕获时,一定要先捕获小异常,再捕获大异常。否则小异常将无法被捕获
 避免出现庞大的try块
 避免使用catch(Exception e){}
 不要略异常
2.java异常体系(错误和异常)
一、java把所有的非正常情况分成两种:异常(Exception)和错误(Error),它们都继承Throwable父类。
二、Error错误,一般是指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这种错误无法 恢复或不可能捕获,将导致应用程序中断。通常应用程序无法处理这些错误,因此应用程序不应该试图 使用catch块来捕获Error对象。在定义该方法时,也无须在其throws子句中声明该方法可能抛出Error及 其任何子类。
3.多异常捕获
一、从java7开始,一个catch块可以捕获多种类型异常
二、在使用一个catch块捕获多种异常类型时需要注意:
 捕获多种类型异常时,多种异常类型之间用竖线(|)隔开
 捕获多种类型的异常时,异常变量有隐式的final修饰,因此程序不能对异常变重新赋值
4.finally块
finally块一般用来关闭物理资源(数据库连接,网络连接,磁盘文件等),这些物理资源必须显式关 闭。除非在try块、catch块中调用了退出虚拟机的方法( System.exit(0); ),否则不管在try块、 catch块中执行怎样的代码,出现怎样的情况,异常处理的finally块一定会被执行。
5. Checked异常和Runtime异常
一、Java的异常被分为两大类:Checked异常和Runtime异常(运行时异常)。
 Runtime异常:所有的RuntimeException类及其子类的实例;
 Checked异常:不是RuntimeException类及其子类的异常实例。
二、只有Java语言提供了Checked异常,其他语言都没有提供Checked异常。Java认为Checked异常都是可 以被处理(修复)的异常,所以Java程序必须显式处理Checked异常。如果程序没有处理Checked异 常,该程序在编译时就会发生错误,无法通过编译。
三、Checked异常体现了Java的设计哲学:没有完善错误处理的代码根本就不会被执行。
四、Runtime异常则更加灵活,Runtime异常无须显式声明抛出,如果程序需要捕获Runtime异常,也可以 使用try…catch块来实现。
6. 使用throws抛出异常
一、使用throws声明抛出异常的思路是,当前方法不知道如何处理这种类型的异常,该异常应该由上级调用 者处理;如果main方法也不知道如何处理这种类型的异常,也可以使用throws声明抛出异常,该异常将 交给JVM处理。JVM对异常的处理方法是,打印异常的跟踪栈信息,并中止程序运行。
二、throws声明抛出异常的格式:
throws 异常类1,异常类2,异常类3,…
7. 使用throw抛出异常
一、Java也允许程序自行抛出异常,自行抛出异常使用throw语句来完成(注意此处的throw没有后面的s)
二、如果需要在程序中自行抛出异常,则应使用throw语句,throw语句可以单独使用,throw语句抛出的不 是异常类,而是一个异常实例,而且每次只能抛出一个异常实例。
三、throw语句的语法格式:
throw 异常实例
8.自定义异常
用户自定义异常都应该继承Exception基类;如果希望自定义Runtime异常,则应该继承 RuntimeException基类。定义异常类时通常需要提供两个构造器:一个是无参数的构造器;另一个是带 个字符串参数的构造器,这个字符串将作为该异常对象的描述信息(也就是异常对象的getMessage()方 法的返回值)。

java异常处理机制相关推荐

  1. java异常处理机制详解

    java异常处理机制详解 参考文章: (1)java异常处理机制详解 (2)https://www.cnblogs.com/vaejava/articles/6668809.html 备忘一下.

  2. Java程序员从笨鸟到菜鸟之(十二)java异常处理机制

    异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出 ...

  3. Java异常处理机制很有意思

    版权声明:欢迎转载,请注明沉默王二原创. https://blog.csdn.net/qing_gee/article/details/43015379 前言:在网络上看到一篇<深入理解Java ...

  4. 多态的概念、对象上下转型、多态的应用、异常(异常概念、异常分类、java异常处理机制、try...catch...finally、throw和throws、自定义异常)

    多态的概念: 多态性是指同一个操作作用于某一类对象,可以有不同的解释,产生不同的执行结果. 多态存在的三个必要条件: ① 需要存在继承或实现关系 ② 同样的方法调用而执行不同的操作.运行不同代码(重写 ...

  5. Java异常处理深入理解_关于java异常处理机制的深入理解.doc

    关于java异常处理机制的深入理解.doc 关于JAVA异常处理机制的深入理解1引子TRYCATCHFINALLY恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过 ...

  6. 最全最详细的Java异常处理机制

    一.异常概述与异常体系结构 异常概述 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格 ...

  7. 谈谈你对Java异常处理机制的理解

    谈谈你对Java异常处理机制的理解 先谈谈我的理解:异常处理机制可以说是让我们编写的程序运行起来更加的健壮,无论是在程序调试.运行期间发生的异常情况的捕获,都提供的有效的补救动作,任何业务逻辑都会存在 ...

  8. java提供两种处理异常的机制_浅析Java异常处理机制

    关于异常处理的文章已有相当的篇幅,本文简单总结了Java的异常处理机制,并结合代码分析了一些异常处理的最佳实践,对异常的性能开销进行了简单分析. 博客另一篇文章<[译]Java异常处理的最佳实践 ...

  9. 简述java异常处理机制

    引言: Hello,我的好朋友们,又到我们相聚的时间了,今天我要和大家分享一些有关java异常处理的相关 知识,也是通过老师的讲解和相关材料的借鉴之后的一个比较系统的总结,真心希望写完这篇文章的我和看 ...

最新文章

  1. Python每日一练0023
  2. R语言psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、指定进行正交旋转、斜交旋转提取因子、比较正交旋转和斜交旋转之间的差异、因子结构矩阵、因子模式矩阵和因子相关矩阵之间的关系
  3. SEM那些被人混淆的事儿(已完结)
  4. 【✅windows奇怪的知识增加了✅】windows系统下快速删除海量小文件方法
  5. 转载:闲话权限设计三层境界
  6. 【转】ABP源码分析二十二:Navigation
  7. C中静态存储区和动态存储区
  8. leetcode37 --- solveSudoku(解数独)
  9. 什么电脑的牌子好用_什么牌子的盘点机好用?
  10. 【Flink】Flink Failed to push metrics to PushGateway Connect refuse
  11. 如何清空_回收站删除的文件怎么恢复?回收站清空如何恢复?
  12. 正高职称 程序员_我985毕业33岁正高,职称评审哪里难?轻轻松松过职称
  13. 应用HTML5 a标签下载文件
  14. 华胜天成助力中国银联实现移动互联时代的多渠道扩张
  15. LayUI文档和技术支持网站
  16. 医视云助力清华长庚医院开展肝胆外科肿瘤远程多学科会诊
  17. 局域网文档服务器搭建,局域网服务器的搭建.pdf
  18. DevC++ 调试的时候闪退解决办法
  19. php-Study1
  20. PHP对接美团配送接口遇到的问题

热门文章

  1. wpf 字体模糊_WPF:解决WPF文字显示不清晰初探
  2. Android实例——2048游戏
  3. 小白重装系统教程_讲解小白装机大师使用教程
  4. 洛谷P2056 采花
  5. 2020-03-31-微信公众号3月份汇总
  6. 交换机的116个知识点 (1)
  7. 【python自动化办公(14)】利用python向Word文档中写入内容(format格式化中槽的使用和自动生成请假条小应用)
  8. 其实,男人也需要被疼爱
  9. openssl加密base64编码
  10. sort,asort,和 ksort 有什么分别?它们分别在什么情况下使用