`
wkf41068
  • 浏览: 457531 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java中有关异常处理的认识

阅读更多
Java中有关异常处理的认识
通常在Webservice侧中,有三层调用Dao层,Service层,WS层。
1.Dao层主要是处理数据的操作(Update,Delete,Select,Add).在Dao层是不处理异常的,一般是将异常抛向Service层。
    代码示例如下:抛出DataAccessException 异常
public int addOperationLog(Map<String, Object> paramMap)
throws DataAccessException
{
   return mDaoManager.update("addOperationLog", paramMap);
}


2. Webservice通常是将异常抛给调用它的上一层。
public interface IUserApplySev
{
    /**
     * 添加操作日志服务.
     * @param paramMap 操纵日志信息参数
     * @throws ApplicationException 服务调用异常信息
     * @return 更新数据库影响行数
     */
    String addOperationLog(Map<String, Object> paramMap) throws ApplicationException;
}
    /**
     * 添加操作日志服务.
     * @param paramMap 操纵日志信息参数
     * @throws ApplicationException 服务调用异常信息
     * @return 更新数据库影响行数
     */
public String addOperationLog(Map<String, Object> paramMap) throws ApplicationException
{
  try
  {
	return String.valueOf(mUserApplyDao.addOperationLog(paramMap));
  }
  catch (DataAccessException e) 
  {
	throw new ApplicationException("添加操作日志失败.", e);
  }
}


 
3.在WS侧对应于在Service侧也有两种异常的处理模式.
(1) 将异常往外抛出(此种做法可以让其它层在程序出现异常的时候,可很直接的看到异常信息而定位问题)如下:
    (如果将其在这侧捕获并且处理的话,在调用它的上层只会知道该操作成功与否,在最终的服务端无法获知异常的原因而难以
    定位问题)---<尤其是针对分布式的系统>
public interface IUserApplyWs
{
    /**
     * 添加操作日志服务.
     * @param paramMap 操纵日志信息参数
     * @throws ApplicationException 服务调用异常信息
     * @return 更新数据库影响行数
     */
    String addOperationLog(Map<String, Object> paramMap) throws ApplicationException ;
}

public String addOperationLog(String aJsonStr) throws ApplicationException 
{
  if ((null == aJsonStr) || ("".equals(aJsonStr)))
  {
   throw new ApplicationException("[SupportWS]:addOperationLog input param(aJsonStr) is null.");
 }
 Map<String, Object> paramMap = JsonUtil.jsonStringToMap(aJsonStr);
 if (null == paramMap)
 {
  throw new ApplicationException("[SupportWS]:addOperationLog param paramMap is null.");
 }
 if ((null == paramMap.get(UserApplyConstants.USERID))
	|| ("".equals(UserApplyConstants.USERID))) 
 {
  throw new ApplicationException("[SupportWS]:addOperationLog param USERID is null.");
 }
 if ((null == paramMap.get(UserApplyConstants.CREATEDATE))
	|| ("".equals(UserApplyConstants.CREATEDATE)))
 {
  throw new ApplicationException("[SupportWS]:addOperationLog param CREATEDATE is null.");
 }
  return mUserApplySevImpl.addOperationLog(paramMap);
}

分享到:
评论

相关推荐

    Java异常处理机制及应用研究.pdf

    对 Java 异常处理机制有一个全面的认识,深刻理解 Java 异常处理机制,就能更加灵活和有效地在软件开发中应用它。 Java 异常处理机制的实现: 1. 异常(Exception):Java 中的异常用对象来表示。Java 中的异常...

    Java异常处理和最佳实践(含案例分析).pdf

    "Java异常处理和最佳实践(含案例分析)" 本文将深入探讨Java中的异常处理机制,讨论如何正确地处理Java异常,避免常见的...通过本文的学习,您将对Java异常处理机制有更加深入的认识,并学会如何正确地处理Java异常。

    DAY_13 Java常用类及异常处理.md

    该文档从简单的Java程序入手,介绍了如何产生随机数,介绍了正则表达式的关键,在...同时本文还介绍了异常的几种情况,更清晰的认识异常的处理,在工作中写出优质的代码,离不开这些细节。本文特别适合Java小白学习。

    Java实验报告——用户登录系统

    【Java实验报告——用户登录系统】的实验主要围绕Java异常处理机制展开,旨在让学生深入理解和掌握Java中的异常处理。在用户登录系统这个实际场景中,实验者需要运用异常处理来确保程序的健壮性。 首先,实验的核心...

    Java软件开发实战 Java基础与案例开发详解 10-2 认识异常 共5页.pdf

    ### Java异常处理基础 #### 10.2 认识异常 在Java编程中,**异常**是指程序在运行时遇到的问题或错误状态,这些问题可能是由于编程错误导致的,也可能是由于外部因素(如文件不存在)造成的。Java提供了一套完整的...

    Java语言认识训练

    Java语言是一种广泛应用于服务器端开发、移动应用、嵌入式设备和云计算等领域的...通过这些实验,初学者将对Java语言有基本的认识,为后续深入学习面向对象编程、异常处理、集合框架、多线程等高级主题打下坚实基础。

    简单JAVA例程(绝对新手实例)认识JAVA

    6. **异常处理**:Java提供了异常处理机制,通过`try-catch-finally`块来捕获和处理运行时错误,确保程序的健壮性。 7. **包(Package)管理**:包是组织Java类的一种方式,它提供了一个命名空间,避免类名冲突。...

    11.认识异常1

    在Java中,异常处理是通过异常类来实现的,这些异常类构成了Java异常体系。异常的发生通常分为编译期错误和运行时错误。编译期错误在代码编写阶段就能被检测出来,如语法错误、类型不匹配等;而运行时错误则是在程序...

    Java雷电游戏,主要用SWING和Java的进程,纯Java代码写的,主要为开发人员对Java线程的认识

    Java提供异常处理机制(try-catch-finally语句),开发者可以学习如何优雅地捕获和处理运行时错误,同时通过使用java.util.logging包或其他第三方日志框架,记录程序运行状态,便于调试和问题定位。 通过深入研究和...

    Java编程语言程序的认识误区.zip

    6. **Java的异常处理过于复杂** Java强制要求捕获所有异常,这有时会让代码显得冗长。然而,这种做法旨在确保程序的健壮性,防止未处理的异常导致程序崩溃。学会合理地组织和使用异常处理可以帮助编写更稳定、更...

    JAVA上机实验.pdf

    * 实验结果分析:通过这次实验,掌握了 Java 中的异常处理。 实验 6: 掌握 Java 中的多线程编程 * 实验目的:掌握 Java 中的多线程编程。 * 实验步骤: 1. 创建一个线程,实现线程的启动和停止。 2. 实现线程的...

    Java中使用Jacob实现Windows下语音合成并生成音频文件示例代码.rar

    同时,如果在调用过程中出现异常,应适当地捕获并处理。 在压缩包中的"2293089"和"22"可能是示例代码的类或文件名,它们可能包含了实现上述功能的具体Java代码。这些代码可能包括导入Jacob库,创建`SpVoice`对象,...

    Java_序列化的高级认识

    ### Java序列化的高级认识 Java序列化作为Java技术体系中的一个重要组成部分,其核心功能在于能够将Java对象转换成字节流,从而实现对象的持久化存储或是通过网络传输。然而,序列化的应用远不止于此,它还涉及到一...

Global site tag (gtag.js) - Google Analytics