根据分层的思想,自定义的Exception处在不同层中,这同时也产生了Exception的整个继承体系结构。
在Spring中的Exception可以说是相当多的,不过这属于框架内部的异常处理机制。
在我们应用程序范畴的自定义异常出于使用上的方便,你可以在各层中包装一个统一的异常往外抛,在接近UI层的时候,由UI层统一进行捕捉,从这一点上来看,抛出的(包装的)异常的信息对用户来说应该是友好的。
如果你想给用户足够细的信息提示的话,那么,不管在那一层,你就不是用一个Exception来捕捉所有可能产生的异常,你可能要分别捕捉,同时,包装并抛出新的自定义异常,给用户提示。
在产生的异常的地方,你可以对这些异常的信息做Log处理,同时用邮件的形式发给support的人员进行分析处理,如果能以报表的形式分发那是最好不过的了。
java 代码
- public class UserinfoDB {
-
- public List getUserinfoFromDB() throws XmddlException {
- try {
- int i = 10 / 0;
- System.out.println(i);
- } catch (Exception ex) {
- ex.printStackTrace();
- throw new XmddlException("get from db error!");
- }
- return null;
- }
-
- }
java 代码
- package com.xmddl.excep.controller;
-
- import java.util.List;
-
- import com.xmddl.excep.db.UserinfoDB;
- import com.xmddl.excep.ui.XmddlException;
-
- public class UserinfoController {
-
- public List getUserinfo() throws XmddlException {
- String name=null;
- try{
- System.out.print(name.toLowerCase());
- }catch(Exception ex)
- {
- ex.printStackTrace();
- throw new XmddlException("name is null!");
- }
- UserinfoDB udb = new UserinfoDB();
- return udb.getUserinfoFromDB();
- }
-
- }
java 代码
- package com.xmddl.excep.ui;
-
- import com.xmddl.excep.controller.UserinfoController;
-
- public class UIBean {
-
-
-
-
- public static void main(String[] args) {
- try {
- int i = 100 / 0;
- System.out.println(i);
- } catch (Exception ex) {
- System.out.println("by zero");
- }
-
- UserinfoController uc = new UserinfoController();
- try {
- uc.getUserinfo();
- } catch (XmddlException e) {
- System.out.println(e.getMessage());
- }
- }
-
- }
分享到:
- 2007-09-02 18:36
- 浏览 2610
- 评论(0)
- 论坛回复 / 浏览 (0 / 3513)
- 查看更多
相关推荐
总的来说,Java自定义异常是异常处理机制的一个重要组成部分,它让开发者能够根据具体需求扩展和定制异常处理流程,有效地管理程序运行中的错误情况,从而提升软件的稳定性和可靠性。通过学习和掌握这一技能,开发者...
Java自定义异常处理详细介绍,包括了很多比较经典的案例,可以自己研究自定义异常
### JAVA自定义异常类 #### 一、基本概念与应用场景 在Java编程中,异常处理是一种重要的机制,用于处理程序运行时可能出现的各种错误情况。Java提供了丰富的内置异常类,但有时候,内置的异常类可能不足以精确地...
java自定义弹窗Demo,主要代码: thisDialog = this; this.setTitle("提示"); this.setSize(300, 150); this.setModal(true); this.setLocationRelativeTo(c); actionL = new ActionListener...
### 实现Java自定义注解拦截器 #### 概述 本文主要介绍如何在Spring Boot项目中使用自定义注解来实现对特定方法的拦截功能。具体场景为:当访问项目中的控制器方法时,需要进行“token验证”,但登录等特殊方法...
综上所述,Java自定义异常允许开发者创建符合应用需求的异常类型,提高代码的可读性和可维护性。通过理解异常的继承体系,编写自定义异常类,以及正确地抛出和处理异常,我们可以构建更加健壮和易用的Java应用程序。
Java提供了丰富的异常处理机制,包括预定义的异常类和自定义异常。以下将详细介绍如何在实际项目中自定义异常,以及为何通常会将业务逻辑抽象成一个常量类。 首先,我们了解Java中的异常。在Java中,异常是通过`...
### Java自定义异常类详解 #### 一、Java异常体系概览 在Java语言中,异常处理机制是一种用于处理程序运行时错误的重要机制。Java中的异常处理基于`java.lang.Throwable`类,它有两个重要的子类:`Exception`和`...
下面我们将深入探讨Java自定义异常及其应用。 首先,自定义异常通常是通过扩展Java内置的`Exception`类或其子类来实现的。`Exception`类是所有可抛出异常的基类,它本身继承自`Throwable`类。创建自定义异常时,...
总结一下,Java自定义异常是通过创建新的异常类来实现的,这些类通常继承自`Exception`类或其子类。自定义异常可以包含特定的错误信息,并在遇到预期之外的情况时抛出。通过使用自定义异常,开发者可以更好地组织和...
Java 自定义注解的实例详解 Java 自定义注解是 Java 语言中的一种重要特性,它可以用于创建文档,跟踪代码中的依赖性,并且可以执行编译时期检查。自定义注解可以让开发者根据需要创建自己的注解,以满足特定的需求...
} catch (Exception e) { e.printStackTrace(); } JButton customButton = new JButton("自定义"); customButton.setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.RED)); ``` 7. **事件监听**...
### Java中的异常处理详解 #### 一、异常基础概述 在Java编程中,异常处理是一项重要的机制,用于处理运行过程中可能发生的错误情况。通过合理的异常处理,可以显著提高程序的健壮性和可用性。 ##### 1. 异常概念...
在 Java 中,自定义异常通常继承自 `Exception` 或其子类。例如,你可以创建一个名为 `CustomServiceException` 的异常类,它可能包含特定的错误码和错误信息: ```java public class CustomServiceException ...
### Java自定义导入与导出XLS文件技术详解 #### 一、背景介绍 在日常工作中,Excel文件作为数据交换的重要工具之一,被广泛应用于各种业务场景中。Java作为一种常用的后端开发语言,在处理Excel文件时也有着丰富的...
1:异常的分类以及区别 2:自定义异常的实现 3:自定义异常的处理 4:异常的妙用
Java自定义回调函数是软件开发中的一个重要概念,尤其是在Android和SDK开发中,它极大地提高了代码的灵活性和可扩展性。回调函数允许一个方法在完成特定操作后通知另一个方法,这种设计模式在异步编程和事件处理中...
本文将深入探讨Java自定义异常及其在实际代码中的应用。 首先,Java异常是通过`Exception`类或其子类来表示的。当程序中出现非正常情况时,可以抛出一个异常对象。Java提供了丰富的预定义异常类,如`IOException`, ...
Java异常处理是编程中至关重要的一个环节,它用于在程序执行过程中处理错误和不正常的情况。异常(Exception)是程序运行时出现的问题,不同于逻辑错误,逻辑错误在编译阶段就能发现,而异常则通常在运行时才会暴露...
自定义异常和抛出异常是Java异常处理机制的重要组成部分,它们允许开发者更精细地控制程序的错误处理流程。本篇文章将深入探讨这两个概念。 首先,让我们了解什么是自定义异常。Java提供了一套内置的异常类,如`...