理解Java异常处理机制的机理
- 从机制上由【产生异常】【抛出异常】【捕捉异常】【异常处理】组成
- 从形式上又分为四种:
- 运行时出现BUG系统产生异常。最经典的抛出异常方式
- 包括【产生异常】【抛出异常】
- throw。形式是“先自己new异常对象 ,然后throw 异常对象”,在代码的任何地方都可以手动产生抛出
- 包括【产生异常】【抛出异常】
- try...catch...finally。最经典的捕捉异常方式,并进行处理
- 包括【捕捉异常】【异常处理】
- throws。它的功能是向上层转发异常,它加在某个方法后,当这个方法被调用时,方法中可能产生异常,并把这个异常从方法中转发出来到调用这个方法的方法中
- 包括【捕捉异常】【抛出异常】
- 运行时出现BUG系统产生异常。最经典的抛出异常方式
- 可以发现能【异常处理】的只有一个,能【产生异常】的有两个,能【捕捉异常】 的有两个,能【抛出异常】 却有三个
- 所以经常的应用形式是:
- 最开始用《try...catch...finally》或《throws》这两种能【捕捉异常】的东西包裹住【产生异常】【抛出异常】的《运行时出现BUG系统产生异常》或《throw》
- 然后其中
- 包裹了《运行时出现BUG系统产生异常》或《throw》的《try...catch...finally》因为是带【异常处理】的【捕捉异常】,所以异常就能被处理了,异常处理到此结束
- 包裹了《运行时出现BUG系统产生异常》或《throw》的《throws》因为是不带【异常处理】的【捕捉异常】,但是它带【抛出异常】,所以异常不能被最终处理,异常会被再次抛出。所以异常处理到此没有结束,它成为了抛出源,还需要被《try...catch...finally》或《throws》再次包裹
- 于是类似上上层的第一步,不过是(循环开始)用《try...catch...finally》或《throws》这两种能【捕捉异常】的东西再次包裹住【抛出异常】的《throws》
- 然后其中还是
- 用《try...catch...finally》包裹住的《throws》,异常能被处理,异常处理到此结束
- 用《throws》包裹住的《throws》,异常不能被最终处理,异常还会被再次抛出,所以异常处理到此没有结束,它成为了抛出源,还需要被《try...catch...finally》或《throws》再次包裹
- 于是回到上上层的第一步,完全一样,开始循环
理解Java异常处理机制的机理的更多相关文章
- 【转】深入理解java异常处理机制
深入理解java异常处理机制 ; int c; for (int i = 2; i >= -2; i--) { c = b / i; System.out.println("i=&qu ...
- 理解java异常处理机制
1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话. ...
- 深入理解java异常处理机制
异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的 ...
- 面向对象的异常处理之深入理解java异常处理机制
什么是异常? 异常是对问题的描述,将问题的对象进行封装: 异常体系的特点:异常体系中的所有类以及建立的对象: 都具有可抛性,也就是说可以被throw和throws关键字所操作,只有异常体系具有该特点: ...
- JAVA 异常处理机制
主要讲述几点: 一.异常的简介 二.异常处理流程 三.运行时异常和非运行时异常 四.throws和throw关键字 一.异常简介 异常处理是在程序运行之中出现的情况,例如除数为零.异常类(Except ...
- Java基础 -- 深入理解Java异常机制
异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常. ...
- Java异常处理机制 —— 深入理解与开发应用
本文为原创博文,严禁转载,侵权必究! Java异常处理机制在日常开发中应用频繁,其最主要的不外乎几个关键字:try.catch.finally.throw.throws,以及各种各样的Exceptio ...
- 谈谈你对Java异常处理机制的理解
先谈谈我的理解:异常处理机制可以说是让我们编写的程序运行起来更加的健壮,无论是在程序调试.运行期间发生的异常情况的捕获,都提供的有效的补救动作,任何业务逻辑都会存在异常情况,这时只需要记录这些异常情况 ...
- Java 异常处理机制和集合框架
一.实验目的 掌握面向对象程序设计技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境 三.实验内容 1.Java异常处理机制涉及5个关键字:t ...
随机推荐
- php下保存远程图片到本地的函数
<?php header("content-type:text/html;charset=utf-8"); function GrabImage($url,$filename ...
- jquery-file-upload附件上传
引入样式和js文件 <link href="css/bootstrap.min.css" type="text/css" rel="styles ...
- error:2014 Commands out of sync; you can't run this command now
如下错误: 分析原因: 前端ajax请求后台,共用同一个链接. 搜索别人的解决方案:http://blog.csdn.net/grass_ring/article/details/3499402 用m ...
- php错误:You don't have permission to access / on this server.
以前php环境崩溃了,重新装了个,打开第一个文件就出现: You don't have permission to access / on this server.错误,让我情以何堪啊,居然说我此台服 ...
- mysql中,now()函数和sysdate()函数有什么区别?
问题描述: 今天在看mysql的时间函数,now()和sysdate(),记录下两者之间有什么不同. 实验过程: 1.执行以下的两个语句: mysql),now(); +--------------- ...
- [转]ASP.NET MVC 5 - 给数据模型添加校验器
在本节中将会给Movie模型添加验证逻辑.并且确保这些验证规则在用户创建或编辑电影时被执行. 拒绝重复 DRY ASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己(DRY ...
- Html解析
相关解析组件: HtmlAgilityPack CsQuery Winista.Text.HtmlParser
- PHP-CGI 进程 CPU 100% 与 file_get_contents 函数的关系
[文章作者:张宴 本文版本:v1.0 最后修改:2011.08.05 转载请注明原文链接:http://blog.s135.com/file_get_contents/] 有时候,运行 Nginx.P ...
- 《C++ Primer Plus》第7章 函数——C++的编程模块 学习笔记
函数是C++的编程模块.要使用函数,必须提供定义和原型,并调用该函数.函数定义是实现函数功能的代码:函数原型描述了函数的接口:传递给函数的值的书目和种类以及函数的返回类型.函数调用使得程序将参数传递给 ...
- Spring事务核心接口