阿里java编程规范之异常处理、安全规约、MySql数据库

2023-11-07

注:本文内容整理自《阿里java编码规范》,除“编程规约”外的其它规则。

异常处理

强制

1、Java类库中可以通过预检查方式规避的 RuntimeException不应该通过catch的方式来处理,如: IndexOutOfBoundsException,NullPointerException 等。说明:无法通过预检查的异常不在此列,比如,在解析字符串形式的数字时,可能存在数字格式错误,不得不通过 catch NumberFomatException 来实现。

2、异常不要用来做流程控制、条件控制。 说明:异常设计的初衷是解决程序运行中的各种意外情况,况且异常的处理效率比条件判断方式要低很多。

3、catch时请分清稳定代码和非稳定代码。稳定代码指的是无论如何都不会出错的代码。对于非稳定代码的 catch,尽可能在进行异常类型的区分后,再做对应的异常处理。 说明:对大段代码进行try-catch,将使程序无法根据不同的异常做出正确的应激反应,也不利于定位问题。

4、捕获异常是为了处理它,不要捕获了却什么都不处 理而抛弃之,如果不想处理它,请将该异常抛给它的调用者。 最外层的业务使用者必须处理异常,将其转化为用户可以理解的内容。

5、有try块放到了事务代码中,catch异常后,如果需要回滚事务,一定要注意rollback事务。

6、 finally块必须对资源对象、流对象进行关闭操作, 如果有异常也要做try-catch操作。

7、不能在finally块中使用return。说明:当finally块中的return返回后方法结束执行,不会再执行try块中的return语句。

8、捕获异常与抛异常必须完全匹配,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿里java编程规范之异常处理、安全规约、MySql数据库 的相关文章

  • Windows11安装kohya_ss详细步骤(报错、踩坑)

    文章目录 笔者环境 所需环境 安装kohya ss 方式一 带有GUI的kohya ss仓库 方式二 kohya ss核心仓库 题外话 笔者环境 OS windows11 Python 3 10 6 CUDA11 6 所需环境 Python
  • JavaEE初阶(5)多线程案例(定时器、标准库中的定时器、实现定时器、线程池、标准库中的线程池、实现线程池)

    接上次博客 JavaEE初阶 4 线程的状态 线程安全 synchronized volatile wait 和 notify 多线程的代码案例 单例模式 饿汉懒汉 阻塞队列 di Dora的博客 CSDN博客 目录 多线程案例 定时器 标
  • 云计算复习资料

    文章目录 第一章 云计算 一 云计算的概念与特征 1 云计算的概念 2 云计算的特征 3 云计算发展历程 二 云计算的服务类型 1 laaS 1 IaaS的核心技术 2 IaaS的服务优势 2 PaaS 1 PaaS的核心技术 2 PasS
  • SMOTE过采样技术原理与实现

    1 这种操作的原理是什么 目的是什么 目的是合成分类问题中的少数类样本 使数据达到平衡 其中 样本数量过少的类别称为 少数类 原理和思想 合成的策略是对每个少数类样本a 从它的最近邻中随机选一个样本b 然后在a b之间的连线上随机选一点作为
  • 正交矩阵的保范性:正交变换不改变向量的长度(范数)

    在推导使用SVD分解解方程时 用到了正交矩阵的保范性这一性质 1 正交矩阵定义 A mathbf A intercal A A A A
  • QT编程----事件(一)

    review ui 生成 h cpp文件 uic form1 ui o form1 h uic form1 ui i form1 h o form1 cpp C 三个特点 继承 重载 封装 QT程序设计进阶 事件 Qt事件 Qt程序是事件驱
  • JavaScript 根据指定年月获取该月的第一天和最后一天、获取上个月的年月、上个月月底日期

    文章目录 根据指定年月获取该月的第一天和最后一天 获取上个月的年月 上个月月底日期 根据指定年月获取该月的第一天和最后一天 let date new Date let new year date getFullYear 取当前的年份 let
  • Spring内置定时器的使用

    1 Spring内置定时器的使用 在configuration配置类中 引入 EnableSchedule 开启定时器 编写定时器类 在定时方法中添加 Schedule注解 并且使用fixedDelay fixedRate cron表达式用
  • 关于Unsupported major.minor version 52.0报错问题解决方案

    目录 1 问题描述 2 问题分析 3 解决方案 步骤一 删除JDK1 7版本 步骤二 导入JDK1 8版本 步骤三 将新的JDK1 8引入到工程中 4 总结 1 问题描述 在启动项目工程中 当编译class文件的时候会报错一个 java l
  • QClub大连站2013年第一期总结

    今天下午 QClub大连站2013年第一期如期举行 报名差不多50人 到场也有30多人 地点还在老地方 万恒商务大厦 我自己今天的状态不太好 女儿最近感冒 我也跟着有些上火 嗓子疼了三天了 今天开始有点儿咳嗽 还好不是特别严重 开场比较简单
  • python中系统找不到指定文件怎么办_PyCharm-错误-找不到指定文件python.exe的解决方法...

    1 现象 系统提示找不到指定的文件 Error running hello Cannot run program B pystudy venv Scripts python exe in directory python study Cre
  • 微前端解决方案

    目录 微前端解决方案 微前端的整体架构 微前端部署平台 微前端解决方案 在理想的情况下 期望能达到 将一个复杂的单体应用以功能或业务需求垂直的切分成更小的子系统 并且能够达到以下能力 子系统间的开发 发布从空间上完成隔离 子系统可以使用不同
  • debug跳出循环_Java基础-第04章:循环结构「云图智联」

    免费学习视频欢迎关注云图智联 https e yuntuzhilian com 1 什么是循环结构 1 1 为什么要学习循环结构 生活中 有很多 重复的去作某件事 的例子 旋转的钟表指针 滚动的车轮 日复一日的上课等等 同理 在程序中也有很
  • Python实现经纬度空间点DBSCAN聚类

    写在前面 博主前期科研工作中 涉及到要对某个地区的一些空间点进行聚类分析 想到读研期间 曾经用DBSCAN聚类算法实现了四线激光雷达扫描的三维点云数据聚类 论文题目 基于改进DBSCAN算法的激光雷达目标物检测方法 当初用matlab实现的
  • Spark SQL参数调优指南

    目录 1 运行行为 1 1 动态生成分区 1 2 broadcast join 使用hint强制做broadcastjoin 1 3 动态资源分配 1 4 Shuflle相关 1 5 读ORC表优化 2 executor能力 2 1内存 2
  • 独孤九剑第五式-朴素贝叶斯模型

    文章适合于所有的相关人士进行学习 各位看官看完了之后不要立刻转身呀 期待三连关注小小博主加收藏 小小博主回关快 会给你意想不到的惊喜呀 各位老板动动小手给小弟点赞收藏一下 多多支持是我更新得动力 文章目录 前言 朴素贝叶斯模型理论讲解 模型
  • 网络爬虫 - 6 JsonPath的使用方法与爬取案例

    1 json数据解析 1 json概念 JSON 是存储和交换文本信息的语法 类似 XML JSON 比 XML 更小 更快 更易解析 JSON 是纯文本 JSON 具有 自我描述性 人类可读 JSON 具有层级结构 值中存在值 JSON
  • Pytorch 学习(五):Pytorch 实现多层感知机(MLP)

    Pytorch 实现多层感知机 MLP 本方法总结自 动手学深度学习 Pytorch版 github项目 部分内容延续 Pytorch 学习 四 Pytorch 实现 Softmax 回归 实现方法 实现多层感知器 Multlayer Pe
  • Unity enabled & Single(关闭组件和单例)

    1 先获取需要关闭的组件 2 在代码中用获取组件的变量点出enabled 单例 单例类 内存中只能有一个 实例化的时候一定要new calss Single 单例 private static Single instance 私人化构造函数

随机推荐

  • 贪心的问题合集(Leetcode题解-Python语言)

    贪心算法 Greedy Algorithm 是一种在每次决策时采用当前状态下最优或最好的策略 从而希望导致结果是最好或最优的算法 455 分发饼干 class Solution def findContentChildren self g
  • 关于虚拟机时不时繁忙、黑屏的解决方法(适用于VM12版本)

    关于虚拟机时不时黑屏 繁忙 关不了机的解决方法 针对于出现启动集群多个节点时 某一节点黑屏的情况 或者是单单要启动一台虚拟机时黑屏的情况 我个人用的是vm12版本 该方法可能不适用于VM15 我也没有试验过 不知道是否管用 特别是在启动集群
  • idea快捷键--编码

    1 创建main方法 psvm 输入public static void main的首字母 psvm 然后按tab或者enter 就会写好main方法 2 输出语句 System out print 键入 sout 3 for循环 输入 f
  • GitLab 与 Gerrit

    origin http blog csdn net feng8888bbb article details 70170638 相信大家看到这里 会发现gitlab比gerrit多了许多功能 比如说Issues Wiki等 我们从几个方面对比
  • string类常用函数

    1 substr函数 字符串截取函数 用于获取字符串的子串 str substr begin length 用于截取str中以begin为下标长度为length的字串 string s asd s s substr 0 1 结果为a 2 f
  • 逆变器和Modbus浅理解

    最近有兄弟去了能源部门 刚好跟着学了一些相关的知识 撇在这记录一下 当然理解的可能不是很正确 尤其Modbus协议压根没有写过 轻喷
  • php 怎么接受流数据类型_PHP数据类型

    PHP 支持 9 种原始数据类型 四种标量类型 boolean 布尔型 integer 整型 float 浮点型 也称作double string 字符串 三种复合类型 array 数组 object 对象 callable 可调用 两种特
  • linux 根目录各目录功能简介

    CentOS 6 5 目录 说明 备注 bin 存放普通用户可执行的指令 即使在单用户模式下也能够执行处理 boot 开机引导目录 包括Linux内核文件与开机所需要的文件 dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中 et
  • Docker Compose 笔记 网络

    Compose 简介 1 引入 通过前面的知识 我们知道使用一个 Dockerfile 模板文件 可以让用户很方便的定义一个单独的应用容器 从而得到一个镜像 然而 在日常工作中 经常会碰到需要多个容器相互配合来完成某项任务的情况 例如要实现
  • xss挑战1-10关

    level1 没有任何过滤 直接URL后面加XSS测试语句 弹窗 level2 有搜索框 像第一关一样在搜索框测试一下 但是没有像第一关一样弹窗 查看源码发现我们的XSS语句被赋值给value并且在input标签里 所以我们需要闭合valu
  • Acwing-4644. 求和

    暴力解法 TLE了hh include
  • git入门教程

    文章目录 Git教程 创建版本库 把文件添加到版本库 查看文件状态 版本回退 工作区和暂存区 管理 撤销修改 删除文件 Git远程仓库 Git教程 Git是目前世界上最先进的分布式版本控制系统 Git用C语言开发 Linus一直痛恨的CVS
  • Midjourney关键字--兔子类

    1 A lovely and happy Pixar style rabbit baby wearing a checked shirt carrying a schoolbag to school with a sweet smile b
  • zkEVM战局简析:zkSync、StarkNet、Scroll和挑战者们

    不同的项目正在探索不同的方向 这或许是最利于行业的发展模式 原文作者 Grant Griffith 由 Odaily星球日报 Azuma 编译 编者按 10 月 28 日 由 Matter Labs 构建的以太坊扩容解决方案正式发布了 zk
  • JAVA之猜数字游戏

    1 随机生成一个0 99 包括0和99 的数字 从控制台输入猜测的数字 输出提示太大还是太小 继续猜测 直到猜到为止 游戏过程中 记录猜对所需的次数 游戏结束后公布结果 打开记事本 写如下一段代码 import java util Rand
  • SpringBoot2对接线程池

    SpringBoot2对接线程池 1 配置线程池Bean package com itennishy test config import java util concurrent ThreadPoolExecutor import org
  • Qt中extern全局变量的使用

    参考网址 https blog csdn net Soar dream article details 101025153 https blog csdn net weixin 45571586 article details 118109
  • C语言位操作

    C语言位操作 1 位与 按照二进制位一一对应 只有全1才为真 否则为假 特定位置置0用位与 2 位或 按照二进制 有真则真 全假才假 特定位置置1用位或 3 位取反 按照二进制位 1变为0 0变为1 逻辑取反 数当成整体 不变二进制 不是0
  • 错误 Angular2 Can't bind to 'routerLink' since it isn't a known property of 'a'

    Can t bind to routerLink since it isn t a known property of a 解决办法 检查是否没有 import RouterModule import RouterModule from a
  • 阿里java编程规范之异常处理、安全规约、MySql数据库

    注 本文内容整理自 阿里java编码规范 除 编程规约 外的其它规则 异常处理 强制 1 Java类库中可以通过预检查方式规避的 RuntimeException不应该通过catch的方式来处理 如 IndexOutOfBoundsExce