36 异常机制 自定义异常 实际应用中的经验总结 尽量添加finally语句块去释放占用的资源
自定义异常
概念
- 使用Java内置的异常可以描述在编辑时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。
 - 在程序中使用自定义异常类,大体可分为以下几个步骤:
- 创建自定义异常类
 - 在方法中通过throw关键字抛出异常对象
 - 如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
 - 在出现异常方法的代用者中捕获并处理异常。
 
 
代码
// 自定义的异常类
public class MyException extends Exception{
    // 传递数字 > 10;
    private int datail;
    public MyException(int a){
        this.datail = a;
    }
    // 异常的打印信息
    public String toString(){
        return ""+datail+"";
    }
}
实际应用中的经验总结
- 处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
 - 在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
 - 对于不确定的代码,也可以加上try-catch,处理潜在的异常
 - 尽量去处理异常,切记只是简单的调用printStackTrace()去打印输出
 - 具体如何处理异常,要根据不同的业务需求和异常类型去决定
 - 尽量添加finally语句块去释放占用的资源
 
36 异常机制 自定义异常 实际应用中的经验总结 尽量添加finally语句块去释放占用的资源的更多相关文章
- Java异常机制,自定义异常以及spring boot异常设计方案
		
异常机制: 异常概念 异常分类 异常的处理方法 自定义异常 springboot 的异常解决方案
 - 异常机制(Exception)
		
异常机制(Exception) 异常程序是指程序运行中出现的不期而至的各种状况,如文件找不到,网络连接失败,非法参数等. 异常发生在程序运行期间,它影响了正常的程序执行流程 检查性异常 最具代表性的检 ...
 - Java 异常机制
		
Java 异常机制 什么是异常 异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程 为什么要有异常 什么出错了 哪里出错了 ...
 - 全面理解java异常机制
		
在理想状态下,程序会按照我们预想的步骤一步一步的执行,但是即使你是大V,你也不可避免出错,所以java为我们提供了异常机制.本文将会从以下几个方面介绍java中的异常机制: 异常机制的层次结构 异常的 ...
 - 牛客网Java刷题知识点之什么是异常、异常处理的原理是什么、为什么要使用异常、异常体系、运行时异常、普通异常、自定义异常、异常链
		
不多说,直接上干货! 在这个世界不可能存在完美的东西,不管完美的思维有多么缜密,细心,我们都不可能考虑所有的因素,这就是所谓的智者千虑必有一失.同样的道理,计算机的世界也是不完美的,异常情况随时都会发 ...
 - 一文了解java异常机制
		
1.异常的概述 1.1什么是异常? 异常:程序在运行过程中发生由于外部问题导致的程序异常事件,发生的异常会中断程序的运行.(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个 ...
 - C#规范整理·异常与自定义异常
		
这里会列举在C#中处理CLR异常方面的规范,帮助大家构建和开发一个运行良好和可靠的应用系统. 前言 迄今为止,CLR异常机制让人关注最多的一点就是"效率"问题.其实,这里存在认 ...
 - Python中else语句块(和if、while、for、try搭配使用)
		
学过C/C++的都知道,else语句是和if语句搭配使用的, 但是在Python中,else语句更像是作为一个模块,不仅仅可以和if语句搭配,还可以和循环语句,异常处理语句搭配使用.下面逐个进行介绍: ...
 - 关于java中异常机制
		
什么是异常:异常就是程序在运行时出现的不正常情况.对于严重的情况Java通过Error类进行描述,一般不用编写代码处理:对于不严重的情况Java通过Exception描述,一般编写针对性代码对其进行处 ...
 
随机推荐
- aidl介绍
			
(1)远程服务 运行在其他应用里面的服务 (2)本地服务 运行在自己应用里面的服务 (3)进行进程间通信 IPC (4)aidl Android interface Definat ...
 - iOS 性能优化系列
			
Objective-C 高性能的循环 使用 Swift 和 Objective-C 执行 iOS 内存管理的 7 个简单技巧 @autoreleasepool-内存的分配与释放
 - activiti5.13 框架 数据库表结构说明
			
1.结构设计 1.1. 逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: 'RE'表示repository(存储),RepositoryService接口所操作的 ...
 - MySQL-MMM高可用架构
			
MySQL-MMM高可用架构 目录 MySQL-MMM高可用架构 一.MMM 1. MMM的概述 2. MMM的应用场景 3. MMM的特点 4. 关于MMM高可用架构的说明 5. 用户及授权 二.案 ...
 - 鸟哥的Linux私房菜学习笔记——文件权限与目录配置
			
Linux的文件权限和目录配置 在linux中的每个用户必需属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念. (1)所有者 一般为文件的创建者,谁创建了该文件,就是天 ...
 - Solution -「BZOJ 3812」主旋律
			
\(\mathcal{Description}\) Link. 给定含 \(n\) 个点 \(m\) 条边的简单有向图 \(G=(V,E)\),求 \(H=(V,E'\subseteq E)\ ...
 - linux 普通分区与lvm分区
			
安装linux系统时 有时候会提示lvm分区与标准分区 首先普及一下lvm分区:lvm是 logical volume manager (逻辑卷管理),linux环境下对磁盘分区的管理:他解决了安装系 ...
 - HMS Core Discovery第13期回顾长文——构建手游中的真实世界
			
HMS Core Discovery第13期直播<来吧!构建手游中的真实世界>,已于2月24日圆满结束,本期直播我们同三七游戏的专家一同向小伙伴们分享了HMS Core图形引擎服务(Sce ...
 - Stroke
			
// A simple blur shader, weighted on alphauniform sampler2D texture;void main(){ float radius = 0 ...
 - 对称加密算法之DES算法
			
数据加密标准(data encryption standard): DES是一种分组加密算法,输入的明文为64位,密钥为56位,生成的密文为64位. DES对64位的明文分组进行操作.通过一个初始置换 ...