Java系统中异常封装处理

告别命令行!用这个开源的Web版Kettle工具,5分钟搞定数据集成任务编排 本文介绍了一款开源的Web版Kettle工具,通过直观的拖拽界面大幅提升数据集成效率,告别复杂的命令行操作。该工具基于Kettle核心引擎,支持跨平台协作、轻量化访问和降低学习曲线,特别适合业务分析师快速上手。实测显示,使用该工具后任务配置错误率下降62%,协作效率提升40%。 阅读详情

异常处理

自定义异常基础类

package com.cloud.exception;
/**
 * 构建一个基础的异常类
 */
public class DefineException extends RuntimeException{
   //VersionUID
   private static final long serialVersionUID = 3042686055658047285L;
   //错误位置
   protected String positionName;
   //错误标签
   protected String errorLabel;
   //错误信息
   protected String message = "";
   public String getMessage(){
      return message;
   }
   //封装属性
   public void setNameAndMessage(String errorLabel,String message){
      this.errorLabel = errorLabel;
      this.message = message;
   }
   public void setPositionName(String positionName) {
      this.positionName = positionName;
   }
 
   public void setErrorLabel(String errorLabel) {
      this.errorLabel = errorLabel;
   }
 
   public void setMessage(String message) {
      this.message = message;
   }
   public String getErrorLabel(){
      return this.errorLabel;
   }
   public String getPositionName(){
      return this.positionName;
   }
   //参照Throwable源码的几个构造方法
   public DefineException(){
      super();
   }
   public DefineException(Throwable throwable){
      super(throwable);
   }
   public DefineException(String errorLabel){
      super(errorLabel);
      this.errorLabel = errorLabel;
      this.message = errorLabel;
   }
   public DefineException(String positionName,String errorLabel){
      super(errorLabel);
      this.errorLabel = errorLabel;
      this.positionName = positionName;
      this.message = errorLabel;
   }
   public DefineException(String positionName,Throwable throwable){
      super(throwable);
      this.positionName = positionName;
   }
   public DefineException(String positionName,String errorName,Throwable throwable){
      super(throwable);
      this.errorLabel = errorName;
      this.positionName = positionName;
      this.message = errorName;
   }
}

扩展异常类

package com.cloud.exception;
/**
 * 扩展一个自己使用的异常类
 */
public class MyException extends DefineException{
   private static final long serialVersionUID = -3042686055658047285L;
   public MyException(){}
   public MyException(Throwable throwable){
      super(throwable);
   }
   public MyException(String positionName,String errorLabel){
      super(positionName, errorLabel);
   }
   public MyException(String errorLabel){
      super(errorLabel);
   }
   public MyException(String positionName,Throwable throwable){
      super(positionName, throwable);
   }
   public MyException(String positionName,String errorLabel,Throwable throwable){
      super(positionName, errorLabel, throwable);
   }
}

异常处理原则

package com.cloud.Test;
import com.cloud.exception.MyException;
/**
 * 异常处理原则:
 * 1.如果不能处理异常,不要捕获该异常。
 * 2.如果要捕获,应在离异常源近的地方捕获它。
 * 3.不要捕获的异常,但是什么也不处理。
 */
public class Test4 {
	public static void main(String[] args) {
		MyExe mx = new MyExe();
		try {
			/*这里发生异常,则直接离开try代码进入catch*/
			//int i = 1/0;
			/*这个方法执行扔出的异常就不会被捕获*/
			mx.getI();
		}catch(MyException mp){
			String info = mp.getMessage();
			System.out.println("捕获自定义异常"+info);
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("捕获Exception异常");
		}
	}
}
class MyExe{
	public void getI(){
		MyException me = new MyException();
		try {
			int te = 2/0;
		} catch (MyException e) {
			me.setMessage("除数不能为0!");
			throw me;
		}catch (Exception e) {
			System.out.println("Exception异常");
			e.printStackTrace();
		}
	}
}
DOORS需求管理实战:从汽车设计案例看模块化需求拆分技巧 本文通过一个汽车设计实战案例,深入解析了如何利用DOORS进行模块化需求拆分与管理。从捕获原始用户需求到精炼为可追踪的系统需求,再到按子系统(如自动驾驶)进行模块化拆分,文章详细展示了构建需求骨架、建立可追溯性以及实施变更控制的完整流程,帮助团队在复杂系统工程中实现从混沌到秩序的高效协同。 阅读详情

相关推荐

ABAP FB05 清账实战:POSTING_INTERFACE_CLEARING 核心参数与业务场景解析

本文深入解析ABAP FB05清账操作中的核心函数POSTING_INTERFACE_CLEARING,详细讲解其关键参数与业务场景应用。通过实战案例展示收款清账(EINGZAHL)流程,提供常见错误排查方法,并分享批量清账优化与财务凭证集成的高级技巧,帮助开发者高效处理SAP财务模块清账需求。

weixin_33423874的博客 475

异常

1. 异常 异常的概述 ​ 异常就是程序出现了不正常的情况 异常体系结构 2. JVM默认处理异常的方式 如果程序出现了问题,我们没有做任何处理,最终JVM 会做默认的处理, 处理方式有如下两个步骤: 把异常的名称,错误原因及异常出现的位置等信息输出在了控制台 程序停止执行 3. try-catch方式处理异常 try { 可能出现异常的代码; } catch(异常类名 变...

qq1205183806的博客 238

瑞芯微Android固件修改实战:从解包到root提权完整流程(附工具包)

本文详细解析了瑞芯微Android固件深度定制全流程,涵盖从固件包解包、系统镜像修改到植入root提权与分区调整的实战步骤。通过工具链操作与原理剖析,指导开发者安全实现系统精简、权限获取及存储扩容,最终完成固件重新打包与刷机验证,适用于追求设备完全控制权的技术爱好者。

ujm56789012的博客 697

java异常处理---异常传递、封装

Java异常处理 异常需要封装,但是仅仅封装还是不够的,还需要传递异常。一个系统的友好型的标识,友好的界面功能是一方面,另一方面就是系统出现非预期的情况的处理方式了。 为什么不能在持久层直接把异常抛弃掉? 比如我们的JEE项目一般都又三层:持久层、逻辑层、展现层,持久层负责与数据库交互,逻辑层负责业务逻辑的实现,展现层负责UI数据的处理。 又这样一个模块:用户第一次访问的时候,需要...

weixin_41670928的博客 963

PCIE配置和地址空间

来源:https://www.jianshu.com/p/574e9a2cbc4e 每个PCIe设备,有这么一段空间,Host软件可以读取它获得该设备的一些信息,也可以通过它来配置该设备,这段空间就叫做PCIe的配置空间。不同于每个设备的其它空间,PCIe设备的配置空间是协议规定好的,哪个地方放什么内容,都是有定义的。PCI或者PCI-X时代就有配置空间的概念,那时的配置空间如下: 图6.1 整个配置空间就是一系列寄存器的集合,其中Type 0是Endpoint的配置,Type 1是Brid.

qq_28643619的博客 4059

python如何实现点云可视化交互——Open3D实例教程(获取所选点的信息)保姆级教学

python如何实现点云可视化交互——Open3D实例教程(获取所选点的信息)保姆级教学

qq_45912037的博客 1万+

程序编写规范

排版    原则 团队应遵守一致的排版风格    规则1 在不同的概念之间,增加空行。如import与包名,import与类名,方法与方法,类与类,变量声明与变量声明。    规则2 将逻辑紧密相关的代码放在一起。    规则3 控制一行的宽度,不要超过120个字符。换行应在低优先级运算符处换行。    规则4 控制一行的宽度,在不同的概念之间(关键字、变量·、操作符等·)增加空格,以便区分概念。...

zhourong1992的博客 1130

Tessent实战:网表扫描链插入全流程解析

本文详细解析了使用Tessent工具为网表插入扫描链(Scan Chain)的全流程。从前期环境配置、网表检查,到扫描链数量、时钟域等核心配置,再到执行扫描单元替换与连接,最后进行结果验证与文件输出。文章提供了关键命令与实用技巧,帮助工程师高效完成DFT设计,确保芯片可测试性。

hhh00的博客 745

【Java】系统公共异常封装处理

一、Java中如何统一抛出异常到客户端,这种好处一般是为了抛出对用户界面友好的异常,以至于抛出一大堆具体的异常信息,影响用户使用体验,第二避免抛出敏感信息,影响系统安全。CommonExceptionType.SimpleException.throwEx("会员ID为空");errorInfoFormat = "系统异常,%s";比如我们在Java中如果遇到异常。这样就再前端只显示会员ID为空的提示。

JAVA领域优质创作者,基于分片网络查询方法专利发明者。 1053

《YOLO26/YOLO11/YOLOv8改进与系统实战》,改进与系统实战专栏目录和介绍

YOLOv8 是目前比较火和比较成熟的深度学习框架,是2023年1月发布的,由 Ultralytics 团队开发。Ultralytics自YOLOv5 开始一直积极维护和更新 YOLO 框架,因此 YOLOv8 也享有持续的维护与升级支持。因此我写下《手把手教你YOLOv8实战》专栏,专门为那些对计算机视觉、深度学习、以及目标检测技术感兴趣的读者设计。通过本专栏,你将深入理解 YOLOv8 的核心原理与实际应用,从0 开始学习并掌握如何使用 YOLOv8 完成各类目标检测任务,帮助你快速上手并掌握 YOLO

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

uniapp - 超详细的 H5 公众号网页微信登录示例代码,提供从 0-1 公众号配置及详细注释代码(站在新手小白的角度)第三方微信授权登录的实现!!

uniapp微信浏览器H5授权微信登录,UniApp开发H5接入微信登录的全过程,uniapp的H5页面使用微信登录,uniapp H5微信授权登录,H5之微信授权登陆 (uniapp网页版微信授权登录),uni-app开发H5第三方微信授权登录的实现,uniapp如何实现微信授权登录,公众号H5页面接入微信登录流程,uni-app - 最详细 H5 网页接入微信登录功能,提供公众号配置与详细注释示例代码(移动端网页实现点击登录按钮后 调用微信公众号授权登录功能 详细讲解接入流程与详细示例代码)官方最新超级

✅ 精选推荐文章 1万+

Java基础:异常

错误:指程序在运行期间发生了某种错误(Error),Error错误通常没有具体的处理方式,程序将会运行结束,Error错误的发生往往都是系统级别的问题,都是jvm所在的系统发生并反馈给居民、的。当异常发生的时候,这个异常被jvm捕获,并将这个异常的相关信息,创建一个异常对象,然后将该对象的信息输出到控制台(执行的是虚拟机默认的异常处理代码)System.out.println("发生了数组异常");如果抛出的异常对象属于可检查的异常,必须在该方法头部,声明抛出异常,即throws要抛出的异常类型。

weixin_67852961的博客 199

windows下宝塔安装教程

windows下宝塔安装教程 目录宝塔是什么?宝塔安装流程1.下载2.配置3.登录4.安装的环境套件小结 宝塔是什么? 宝塔是管理服务器的免费的软件,宝塔上面可以进行对你的服务器批量进行管理,对于运维人员来说还是必不可少的一个软件,值得使用。 宝塔安装流程 1.下载 链接: https://download.bt.cn/win/panel/BtSoft.zip 下载后安装买最好自定义目录,方便找 2.配置 下载完成后会出现这个页面,对着页面进行配置 点击默认密码复制进来,这里注意一点就是一定要查看

你在看屏幕的同时,屏幕也在注视着你 4423

java异常处理封装,Java系统中异常封装处理

异常处理自定义异常基础类package com.cloud.exception;/*** 构建一个基础的异常类*/public class DefineException extends RuntimeException{//VersionUIDprivate static final long serialVersionUID = 3042686055658047285L;//错误位置prote...

weixin_29377233的博客 476

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java异常封装(转)

一、分析 Java语言的异常处理机制可以确保程序的健壮性,提高系统的开发效率,但是Java API提供的异常都是比较低级(这里的低级指的是“低级别的异常”),只有开发人员才能看的懂,才明白发生了什么问题。对于终端用户来说,这些异常基本上是天书,与业务无关,是纯计算机语言的描述。 这就需要我们对异常进行封装了。 二、场景 异常封装有三方面的优点: 1.提高系统的友好性 例如,...

weixin_30443747的博客 100

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java异常封装_提倡异常封装

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】。本文参考自:《编写高质量代码 改善java程序的151个建议》作者:秦少波Java语言的异常处理机制可以确保程序的健壮性,提高系统的可用率,但是Java API提供的异常都是比较低级的(这里的低级是指“低级别”的异常),只有开发人员才能看得懂,才明白发生了什么问题。而对于终端用户来说,这些异常基本上就是天书,与业务无关,是纯计算机语言的描述,那该怎...

weixin_32301287的博客 692

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

好用java异常封装类_异常封装提高Java代码质量

-----------疯狂软件java培训分享------------一、分析Java语言的异常处理机制可以确保程序的健壮性,提高系统的开发效率,但是Java API提供的异常都是比较低级(这里的低级指的是"低级别的异常"),只有开发人员才能看的懂,才明白发生了什么问题。对于终端用户来说,这些异常基本上是天书,与业务无关,是纯计算机语言的描述。这就需要我们对异常进行封装了。二、场景异常封装有三方面...

weixin_34751996的博客 290

java程序的151个建议-提倡异常封装,采用异常链传递异常

Java语言的异常处理机制可以确保程序的健壮性,提高系统的可用率,但是Java API提 供的异常都是比较低级的(这里的低级是指“低级别”的异常),只有开发人员才能看得懂, 才明白发生了什么问题。而对于终端用户来说,这些异常基本上就是天书,与业务无关,是纯计算机语言的描述,那该怎么办?这就需要我们对异常进行封装了。异常封装有三方面的 优点: (1) 提髙系统的友好性 例如,打开一个文件,如

你是我的天晴 319

java代码异常处理会影响性能_编写高质量代码改善java程序的151个建议——[110-117]异常及Web项目中异常处理...

原创地址:http://www.cnblogs.com/Alandre/(泥沙砖瓦浆木匠),需要转载的,保留下! 文章宗旨:Talk is cheap show me the code.大成若缺,其用不弊.大盈若冲,其用不穷. 最完满的东西,好似有残缺一样,但它的作用永远不会衰竭;最充盈的东西,好似是空虚一样,但是它的作用是不会穷尽的Written In The Font摘要:学习内容:思考:何...

weixin_35926446的博客 205

提高你的Java代码质量吧:提倡异常封装

一、分析 Java语言的异常处理机制可以确保程序的健壮性,提高系统的开发效率,但是JavaAPI提供的异常都是比较低级(这里的低级指的是“低级别的异常”),只有开发人员才能看的懂,才明白发生了什么问题。对于终端用户来说,这些异常基本上是天书,与业务无关,是纯计算机语言的描述。 这就需要我们对异常进行封装了。 二、场景 异常封装有三方面...

jishublog 291

异常封装提高Java代码质量

    -----------疯狂软件java培训分享------------   一、分析   Java语言的异常处理机制可以确保程序的健壮性,提高系统的开发效率,但是Java API提供的异常都是比较低级(这里的低级指的是"低级别的异常"),只有开发人员才能看的懂,才明白发生了什么问题。对于终端用户来说,这些异常基本上是天书,与业务无关,是纯计算机语言的描述。   这就需要我们对异常进行...

weixin_30648587的博客 65

异常处理

Java异常处理是Java提供的用于处理程序中错误的一种机制。 Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该对象封装了异常事件的信息并将提交给Java运行时系统,这个过程称为抛出(throw); 当运行时系统收到异常对象时会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)。

Zombie_lee的博客 387

Java自定义异常封装

Java自定义异常封装前言:异常的分类1.为什么要自定义异常封装?2.自定义异常封装有哪些优点?2.1 提高系统的友好性2.2 提高系统的可维护性2.3 解决Java异常机制自身的缺陷3. 如何进行自定义异常封装? 前言:异常的分类 Throwable包含了错误(Error)和异常(Excetion两类) 异常类分为2类:运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常) 1.运行时异常都是RuntimeException类及其子类,如 NullPointer

学习 记录 总结 分享 2257

Java异常处理的艺术从CheckedException到优雅降级

特别是在多层调用链中,底层方法的Checked Exception往往需要层层传递,破坏了代码的简洁性。但这也要求开发者有更高的自律性,需要仔细文档化可能抛出的异常,否则会降低API的可预测性。有效的异常处理不仅仅是捕获异常,更需要保留完整的错误上下文。在现代分布式系统中,优雅降级成为异常处理的高级形态。在Java编程世界中,异常处理不仅仅是捕获和记录错误,更是一门平衡健壮性与代码可读性的艺术。从传统的Checked Exception到现代架构推崇的优雅降级策略,开发者需要掌握不同场景下的最佳实践。

welwuminghao的博客 388

Java提高:提倡异常封装

一、分析  Java语言的异常处理机制可以确保程序的健壮性,提高系统的开发效率,但是Java API提供的异常都是比较低级(这里的低级指的是“低级别的异常”),只有开发人员才能看的懂,才明白发生了什么问题。对于终端用户来说,这些异常基本上是天书,与业务无关,是纯计算机语言的描述。  这就需要我们对异常进行封装了。  二、场景  异常封装有三方

1024工场 1万+

编写高质量代码改善java程序的151个建议——[110-117]异常及Web项目中异常处理

何为异常处理? 异常处理,英文名为exceptional handling, 是代替日渐衰落的error code方法的新法,提供error code 所未能具体的优势。异常处理分离了接收和处理错误代码。这个功能理清了编程者的思绪,也帮助代码增强了可读性,方便了维护者的阅读和理解。 java语言中,异常处理可以确保程序的健壮性,提高系统的可用率.但是j...

weixin_34402408的博客 84
上一篇: Java中的操作符
下一篇: MySql软件安装图解
午-夜
博客等级 码龄12年 95粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值