自定义异常和经验小结

自定义异常和经验小结

  • 使用java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。
  • 在程序使用自定义异常类,大体可分为以下几个步骤:
    1. 创建自定义异常类
    2. 在方法中通过throw关键字抛出异常对象
    3. 如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
    4. 在出现异常方法的调用者中捕获异常并处理异常
package com.exception.Demo02;//自定义的异常类
public class MyException extends Exception {//传递数字>10;private int detail;public MyException( int a) {this.detail = a;}//toString:异常的打印信息@Overridepublic String toString(){return "MyException{" +detail+ '}';}
}
package com.exception.Demo02;public class Test {//可能会存在异常的方法static void tese(int a) throws MyException {System.out.println("传递的参数为:"+a);if(a>10){throw new MyException(a);//抛出}System.out.println("OK");}public static void main(String[] args) {try {tese(11);} catch (MyException e) {//增加一些处理异常的代码System.out.println("MyException=>"+e);}}
}

总结

  • 在处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
  • 在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
  • 对于不确定的代码,也可以加上try-catch,处理潜在的异常
  • 尽量去处理异常,切忌只是简单地调用printStackTrace()去打印输出
  • 具体如何处理异常,要根据不同的业务需求和异常类型去决定
  • 尽量添加finally语句块去释放占用的资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8 种架构设计模式优缺点大曝光 | 原力计划

作者 | 程序员Tony责编 | 王晓曼出品 | CSDN博客什么是架构我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果,哈哈,我理解,架构就是骨架。人类的身体的支撑是主要由骨架来承担的,然…

企业实战_06_MyCat 常用的分片算法

接上一篇:企业实战_05_MyCat用户密码加密 https://gblfy.blog.csdn.net/article/details/100056536 下一篇:企业实战_07_MyCat 搭建Mysql 一主一从复制环境 https://gblfy.blog.csdn.net/article/details/118640210

数据库OceanBase创始人阳振坤:通关TPC-C到底有多难?

自从蚂蚁金服自研数据库OceanBase获得TPC-C测试第一名后,引起了行业内外大量关注,我们衷心的感谢大家对OceanBase的支持与厚爱,也虚心听取外界的意见和建议。为了让大家更好的了解测试的技术细节,我们特意邀请了OceanBase的核心研…

蚂蚁金服自研数据库OceanBase如何登顶TPC-C

10 月 2 日,国际事务处理性能委员会(TPC)宣布:在最新发布的 TPC-C 排行榜中,蚂蚁金服自研数据库 OceanBase 位列第一。InfoQ 记者第一时间采访到蚂蚁金服研究员、OceanBase 主架构师杨传辉(日照&#xff09…

IntelliJ IDEA在行尾增加分号

CtrlShiftEnter 1.补全分号 2.补全大括号:鼠标定位到if语句 ,CtrlShiftEnter

为啥程序员下班后只关显示器从不关电脑?

你下班时是不是只将显示器一关,揣上手机就走了?曾有安保人员晚上来办公室巡查时问,为什么这些人不关机就下班呢?因为等一切工具准备就绪后,半个小时已经过去了。你知道程序员的时薪有多贵吗?效率多高吗&…

从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?

阿里妹导读:从十余年前的各种分布式系统研发到现在的容器云,从支撑原有业务到孵化各个新业务,企业的发展离不开统一的、与时俱进的技术架构。本篇文章从企业分布式应用架构层面介绍了云原生计算架构带来的变化,希望能够帮助更多企…

项目-零钱通

项目-零钱通 package com.hspedu.smallchange;import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;public class SmallCanapeSays {//化繁为简//1.先完成显示菜单,并且可以选择菜单,给出对应提示//2.完成零钱通明细/…

那些年,我们见过的 Java 服务端“问题”

导读 明代著名的心学集大成者王阳明先生在《传习录》中有云: 道无精粗,人之所见有精粗。如这一间房,人初进来,只见一个大规模如此。处久,便柱壁之类,一一看得明白。再久,如柱上有些文藻&#x…

中兴通讯uSmart云电脑,开启安全办公新时代

2020年春天,以5G、人工智能、云计算为代表的“新基建”蔚然成风,着眼国家数字经济体系建设,打造数字经济体系底座的“新基建”,无疑成为中国经济整体应对未来发展的核心方案。可以说,没有任何一个时期比现在更能够彰显…

阿里张磊:云计算生态价值点正迅速聚焦到“应用”上

导读:云原生不再只是基础设施的开发和运维人员的关注点,在应用交付领域小组成立之后,CNCF 基金会正在同应用开发和应用运维人员更紧密的联系在一起。 云原生的理念如今正如火如荼。它不仅仅是一种技术,更是社区基于对云的思考&…

SpringBoot 整合 Spring Cloud Alibaba Nacos 连通性+负载均衡

文章目录一、整合版本说明1. 毕业版本依赖关系(推荐使用)2. 组件版本关系3. 演示版本二、整合实战2.1. 聚合模块设计2.2. 创建聚合parent2.3. 依次创建子项目三、子模块配置3.1. 订单模块3.2. 产品模块3.3. 用户模块3.4. 扣库存模块3.5. 购物车模块四、测试案例4.1. 订单模块4.…

蚂蚁金服OceanBase挑战TPCC|TPC-C基准测试之数据库事务引擎挑战

蚂蚁金服自研数据库 OceanBase 登顶 TPC-C 引起业内广泛关注,为了更清楚的展示其中的技术细节,我们特意邀请 OceanBase 核心研发人员对本次测试进行技术解读,共包括五篇: 1)TPC-C基准测试介绍 2)OceanBase…

零钱通OOP编程

零钱通OOP编程 package com.hspedu.smallchange.oop;import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;/****该是完成零钱通的各个功能类* 使用OOP(面向对象编程)* 将各个功能对应一个方法*/public class SmallCha…

使用dubbo后尽量不用要@Service可能引起冲突

如下有几个包都含有Service dubbo最新版本2.7.8,已经把Service换成DubboService 示例实现类 package com.dubboprovider.service;import org.apache.dubbo.config.annotation.DubboService; import org.springframework.stereotype.Component;//zookeeper 服务注…

面试中遇到这 3 个SQL问题,最容易掉坑里!

作者 | Nathan R译者 | 天道酬勤,责编 | Carol封图 | CSDN下载自视觉中国在本文中,作者将介绍来自3个在技术面试中的真实的SQL问题,这些问题都是在实际公司进行技术筛选时提出的。最常见的读者问题:我应该如何准备SQL面试&#xf…

云原生数据库POLARDB专场“硬核”解析

POLARDB是阿里巴巴自主研发的云原生关系型数据库,目前兼容三种数据库引擎:MySQL、PostgreSQL、Oracle。POLARDB的计算能力最高可扩展至1000核以上,存储容量可达100TB。 POLARDB融合了商业数据库稳定、可靠、高性能的特征,同时具有…

K8s 从懵圈到熟练 – 集群网络详解

导读:阿里云 K8S 集群网络目前有两种方案:一种是 flannel 方案;另外一种是基于 calico 和弹性网卡 eni 的 terway 方案。Terway 和 flannel 类似,不同的地方在于 terway 支持 Pod 弹性网卡,以及 NetworkPolicy 功能。本…

java12/6作业1

作业1 package com.hspjava.Day01;public class Homework01 {//定义Person类{name,age,job},初始化Person对象数组,有3个person对象,并按照age从大到小进行排序public static void main(String[] args) {//初始化Person 对象数组,有3个perso…

使用dubbo后尽量不用要@Reference可能引起冲突

使用dubbo后尽量不用要Reference可能引起冲突 dubbo最新版本2.7.8,已经把Reference换成DubboReference