记录处理异常

本文仅供自己日后查找所用。

首先我要做的是在设置company的认证方式,认证方式可能多个,分为免费上网、微信认证、短信认证、密码认证。那么在CompanyAuthType实体中就会有多条记录。

先上代码:

public String editCom(Company model, String assets, String contextPath, String realPath) throws Exception{
		Company company = (Company)companyDao.findById(model.getCompanyId());
		if(null == company){
			throw new SerialException();
		}
		//设置信息: 名字、电话号码、成功连接
		company.setCompanyName(model.getCompanyName());
		company.setMobile(model.getMobile());
		company.setSuccessUrl(model.getSuccessUrl());
		companyDao.update(company);
		//先找到所认证方式,存在则删除
		List<CompanyAuthType> catl = iCompanyAuthTypeDAO.findByProperties(new String[]{"company.companyId"}, new Object[]{model.getCompanyId()});
		if(null != catl && !catl.isEmpty()){
			//删除原有的认证方式记录
			iCompanyAuthTypeDAO.deleteByProperties(new String[]{"company.companyId"}, new Object[]{model.getCompanyId()}, null);
		}
		//设置商家认证方式,一或多个
		if(!StringUtils.isEmpty(model.getIds())){
			iCompanyAuthTypeDAO.deleteByProperties(new String[]{"company.companyId"},new Object[]{model.getCompanyId()},null);

			String[] ids = model.getIds().split(",");
			for(String id:ids){
				AuthType at = (AuthType)iAuthTypeDAO.findById(Long.valueOf(id));
				if(null != at){
					CompanyAuthType cat = new CompanyAuthType();
					cat.setAuthType(at);
					cat.setCompany(company);
					iCompanyAuthTypeDAO.save(cat);
				}
			}

		}
		//通过CompanyId查找所有AP
		List<Ap> lst = iApDAO.findByProperties(new String[]{"company.companyId"}, new Object[]{model.getCompanyId()});
		if(null != lst && !lst.isEmpty()){
			for(Ap ap:lst){
				//修改所有AP登录成功链接
				if(null != model.getSuccessUrl() && "" != model.getSuccessUrl()){
					ap.setSuccessUrl(model.getSuccessUrl());
				}
				//修改AP认证方式
				iApDAO.save(ap);
			}
		}}

  上面是完整的action实现,本次记录主要是说明在实现action中遇到的问题和考虑不周的地方。

首先是判断前台传回的认证IDS串是否为空,如果不为空的话就删除原有的认证方式,然后就保存IDS的认证方式,首先找到authtype中的实体(通过IDS中id),通过CompanyId找到Company实体。最后new  CompanyAuthType,最用set方法和save方法保存记录。注意:在保存之前要判断认证实体和商家实体是否为空,在不为空的情况下保存。

然后还要修改商家下所有Ap的登录成功链接。在修改之前要判断通过model获得的成功链接是否为空,再保存。

记录处理异常

时间: 2024-10-11 22:47:11

记录处理异常的相关文章

winform 记录全局异常捕获

/// <summary> /// 应用程序的主入口点. /// </summary> public static ApplicationContext context; [STAThread] private static void Main() { try { //处理未捕获的异常 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); //处理UI线程异常 Applicatio

正则表达式查找未记录的异常

在旧代码中,有一些地方只是写了catch{} ,但没有把异常信息记录下来,导致了分析查找问题的原因过久,但手动去查找哪儿没有捕获异常,所需要花费的时间又太长,以前有写过一次,但后来丢了,现在又要用到,先蹩脚地记录下来,给自己用的 情景一:catch (Exception ex){ }=>catch (Exception ex){TxtLog.WriteException(string.Format("任务处理错误,错误信息:{0}", ex.Message), ex);}查找内容

关于criteria分页中获取总记录数异常问题

一.情景在线 运维同事反馈了一个问题,说咱们查询分机号码的api 接口返回数据异常,具体的情况时是: 1.查询时第一页信息所返回的总记录数正确,数据正确. 2.查询第二页总记录数为 "0" ,数据为对应的第二页数据. what!!! 二.为题排查 按照同事的提供的线索,在本地复现发现-->果然如此! 传入当前页 pageNow>1 时 总数totel 将为零,且必现! 多次测试发现: 传入pageNow=1 控制台打印的sql select count(*) as y0_

Python学习记录八---异常

异常Python用异常对象(exception object)来表示异常情况.遇到错误后,会引发异常.如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行. 1.raise语句 >>> raise Exception Traceback (most recent call last): File "<stdin>", line 1, in <module> Exception >>>

C# pdb类型文件的作用之一:记录具体异常的关键信息,如文件路径和行号

pdb 是 Program Debug Database 的简称: 背景 我负责的一个Services(服务)出问题了,原因是一个 dll 内部逻辑出问题了: 在本地修改源码后,重新生成dll(Debug模式):然后将服务器中 dll 替换为最新,查看日志是否报错,Services中并没有pdb 类型文件. 不幸的是,还报错,内容如下: 日志没有指出报错的具体位置!(PS:UpdateQuantity_Efficient() 方法有150多行,大写的 尴尬...) ===============

PHP 错误与异常的日志记录

提到 Nginx + PHP 服务的错误日志,我们通常能想到的有 Nginx 的 access 日志.error 日志以及 PHP 的 error 日志.虽然看起来是个很简单的问题,但里面其实又牵扯到应用配置以及日志记录位置的问题,如果是在 ubuntu 等系统下使用 apt-get 的方式来安装,其自有一套较为合理的的配置文件可用.再者运行的应用程序中的配置也会影响到日志记录的方式及内容. 错误与异常的区别 关于错误与异常,我们可以用一个简单的例子来理解: <?php try { 1 / 0;

PHP 错误与异常 笔记与总结(14 )记录和发送异常信息

当发生异常时,把异常信息记录到日志文件中: 1 <?php 2 header('content-type:text/html; charset=utf-8'); 3 class LogException extends Exception{ 4 public function __construct($message = null, $code = 0){ 5 parent::__construct($message, $code); 6 error_log($this->getMessage

MVC扩展Filter,通过继承HandleErrorAttribute,使用log4net或ELMAH组件记录服务端500错误、HttpException、Ajax异常等

□ 接口 public interface IExceptionFilter{    void OnException(ExceptionContext filterContext);} ExceptionContext继承于ControllerContext,从中可以获得路由数据route data.HttpContext. □ 的HandleErrorAttribute是对IExceptionFilter的实现,默认是启用的 public static void RegisterGlobal

Spring MVC异常统一处理(异常信息的国际化,日志记录)

JAVA EE项目中,不管是对底层的数据操作,还是业务层的处理过程,还是控制层的处理,都不可避免的会遇到各种可预知的(业务异常主动抛出).不可预知的异常需要处理.一般dao层.service层的异常都会直接抛出,最后由controller统一进行处理,每个过程都单独处理异常,且要考虑到异常信息和前端的反馈,代码的耦合度高,不统一,后期维护的工作也多. 同时还必须考虑异常模块和日志模块.国际化的支持. 因此需要一种异常处理机制将异常处理解耦出来,这样保证相关处理过程的功能单一,和系统其它模块解耦,