- 浏览: 103141 次
- 性别:
- 来自: 深圳
-
文章分类
- 全部博客 (209)
- http://docs.jpush.io/server/java_sdk/ (1)
- SpingMVC ModelAndView (1)
- Model (1)
- Control以及参数传递 (1)
- https://www.alipay.com/ (1)
- 检查指定的字符串列表是否不为空。 (1)
- 转自http://my.oschina.net/rpgmakervx/blog/505434 (1)
- 压缩js (1)
- 含包含 字母数字校验 (1)
- 判断浏览器是ie (1)
- fixbox (0)
- 转自http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html (1)
- http://dl2.iteye.com/upload/attachment/0113/2406/afbd8d53-dcad-3afc-8d78-41c1591 (0)
- IDEA (0)
- maven搭建 (0)
- http://www.jeasyuicn.com/api/docTtml/index.htm (1)
- 给tomcat添加运行内存: (1)
- JPUSH推送 (1)
- requestScope (0)
- oracle中plsql安装client10连接数据库 (1)
- 不需要安装oracle11g (1)
- tuikuan (1)
- http://www.hjxmall.com/index.php (1)
- java (1)
- 参考 (1)
- xml签名验签模拟程序 (1)
- 技术网站收集分享 (1)
- Java NIO提供了与标准IO不同的IO工作方式 ------来源于 http://www.iteye.com/magazines/132-Java-NIO (1)
- oracle表查询语句优化 (0)
- oracle (5)
- a (1)
- TenpayHttpClient (2)
- mongodb (1)
- http://www.qcloud.com/product/cmongo.html?utm_source=pcsem1&utm_medium=bdgj46&utm_campaign=baidu (1)
- SpringMVC整合MongoDB开发 (0)
- SpringMVC整合MongoDB开发 https://www.mongodb.org (1)
- Java 语言中常见问题总结 (1)
- 数据库SQL优化大总结 (1)
- 拦截器与过滤器的区别 (1)
- Struts2中拦截器与过滤器的区别及执行顺序 (1)
- Spring声明式事务管理与配置 (0)
- oracle OPERTION (1)
- java 高并发多线程开发 (1)
- Collection 与 map 接口相关集合 (1)
- 多线程开发实践 (1)
- JVM调优总结 转自 http://www.importnew.com/18694.html (1)
- redis 五种数据类型的使用场景 转自于 http://blog.csdn.net/gaogaoshan/article/details/41039581 (1)
- HttpWatch http基础 来自于http://blog.csdn.net/gaogaoshan/article/details/21237555 (1)
- maven 远程仓库 http://blog.csdn.net/gaogaoshan/article/details/40266779 (1)
- 生成Webservice客户端的4中方法 http://blog.csdn.net/gaogaoshan/article/details/8980775 (1)
- http://fgh2011.iteye.com/blog/1564283 (1)
- sleep和wait有什么区别 http://xiaowei2002.iteye.com/blog/2174188 (1)
- JDK中常用包及其类 常见的几种RuntimeException (1)
- Java的运行原理 (1)
- mybatis缓存的使用及理解 http://my.oschina.net/dxqr/blog/123163 (1)
- 软件架构设计分析 (1)
- redis技术总结 (3)
- java面试总结知识点 (1)
- ZooKeeper技术 (1)
- Hadoop (1)
- sso单点登录 (1)
- SpringIOC (1)
- 书签ssssssssssssssssssssss (1)
- spring事务的隔离级别 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html (1)
- 秒杀系统架构分析与实战 http://www.importnew.com/18920.html (1)
- oracle 连接plsql配置 (1)
- maven工程集成springmvc http://blog.csdn.net/fox_lht/article/details/16952683 (1)
- java类序列化与反序列化版本唯一号serialVersionUID (1)
- spring注解用法总结 (1)
- eclipse导入maven项目找不到资源文件方法 (1)
- dubbo (0)
- socket 网络编程 服务器与客户端 编程 (1)
- Thread与Runnable实现线程利用线程插队实现求和操作 (1)
- 生产者与消费者模式 (1)
- JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML*** (1)
- xml 与JAVAbean转换 (1)
- MAP (2)
- decimalToString (1)
- 反编译插件 (0)
- 反编译插件 https://sourceforge.net/projects/jadclipse/?source=typ_redirect (1)
- AWX (1)
- 官网地址Dinp (1)
- public interface ExecutorService extends Executor (1)
- MAIN (1)
- 转自于 http://blog.csdn.net/lufeng20/article/details/24314381 (1)
- JaxbUtil (1)
- HttpXmlClient (0)
- Http post 请求 (1)
- URLDecoder (1)
- spdb (0)
- 订单号生成规则 (1)
- 距离0点毫秒数 (1)
- MyBatis存储过程调用java (1)
- Banks (1)
- 学习网址 (1)
- hots配置oracle数据库配置修改 (1)
- 支付宝文档 (1)
- Jadclipse (1)
- filter (0)
- Filter过滤器 (1)
- 工具类 fixbox (1)
- java quartz (0)
- java quartz 实现定时任务,每个礼拜一到礼拜五定时执行 (1)
- Thread (4)
- getResourceAsStream (1)
- BigData (1)
- 开源架构 (17)
- 架构 (0)
- 文件操作 (2)
- tools (20)
- 测试工具 (1)
- vm (1)
- mq (1)
- blog (1)
- 开源架构搭建技术 (6)
- JAVA细节技术点总结 (1)
- 优化技术 (1)
- LINUX命令使用 (1)
- spring (2)
- 大数据 (1)
- struts2 (1)
- python (1)
- pay (1)
- linux (1)
- 压力测试 (1)
- 代码检查插件 (1)
- 游戏端开发 (1)
- 微信开发相关 (1)
- 搜索引擎 (1)
- 网络技术 (1)
- 分布式部署 (1)
- 堆栈信息 (1)
最新评论
Exception异常
public synchronized Throwable fillInStackTrace() {
if (stackTrace != null ||
backtrace != null /* Out of protocol state */ ) {
fillInStackTrace(0);
stackTrace = UNASSIGNED_STACK;
}
return this;
}
public void setStackTrace(StackTraceElement[] stackTrace) {
// Validate argument
StackTraceElement[] defensiveCopy = stackTrace.clone();
for (int i = 0; i < defensiv发eCopy.length; i++) {
if (defensiveCopy[i] == null)
throw new NullPointerException("stackTrace[" + i + "]");
}
synchronized (this) {
if (this.stackTrace == null && // Immutable stack
backtrace == null) // Test for out of protocol state
return;
this.stackTrace = defensiveCopy;
}
}
方法上加锁与代码块处理同步机制
lock 同步锁机制
异常处理 运行时异常与错误异常
private Lock lock = new ReentrantLock();
@Override
@Transactional(propagation = Propagation.REQUIRED)
public TtyResponse transferPayMoney(String orderId) throws TtyException {
HashMap<String, Object> params = new HashMap<String, Object>();
this.payCheck(orderId, params);
try{
lock.lock();
TtyResponse resp = this.queryPaymentType(params);
if(StringUtils.equals(RESP_CODE_FAIL, resp.getCode())
|| StringUtils.equals(RESP_CODE_WAYPAY, resp.getCode())){
resp = this.payMoney(params);
if(StringUtils.equals(this.RESP_CODE_FAIL, resp.getCode())){
this.updatePayTypeStatus(params, OrderStatus.CLOSED);
this.cancelTransfer(params);
} else if(StringUtils.equals(this.RESP_CODE_PROCESSING, resp.getCode())){
this.updateOrderStatus(params, OrderStatus.PROCESSING);
}
} else if(StringUtils.equals(RESP_CODE_PROCESSING, resp.getCode())){
return (new TtyResponse()).setCode(ITransferPayMoneyService.RESP_CODE_PROCESSING);
} else if(StringUtils.equals(RESP_CODE_SUCCESS, resp.getCode())){
this.transferSuccess(params);
return (new TtyResponse()).setCode(ITransferPayMoneyService.RESP_CODE_SUCCESS);
}
} finally{
lock.unlock();
}
return new TtyResponse();
}
if (stackTrace != null ||
backtrace != null /* Out of protocol state */ ) {
fillInStackTrace(0);
stackTrace = UNASSIGNED_STACK;
}
return this;
}
public void setStackTrace(StackTraceElement[] stackTrace) {
// Validate argument
StackTraceElement[] defensiveCopy = stackTrace.clone();
for (int i = 0; i < defensiv发eCopy.length; i++) {
if (defensiveCopy[i] == null)
throw new NullPointerException("stackTrace[" + i + "]");
}
synchronized (this) {
if (this.stackTrace == null && // Immutable stack
backtrace == null) // Test for out of protocol state
return;
this.stackTrace = defensiveCopy;
}
}
方法上加锁与代码块处理同步机制
lock 同步锁机制
异常处理 运行时异常与错误异常
private Lock lock = new ReentrantLock();
@Override
@Transactional(propagation = Propagation.REQUIRED)
public TtyResponse transferPayMoney(String orderId) throws TtyException {
HashMap<String, Object> params = new HashMap<String, Object>();
this.payCheck(orderId, params);
try{
lock.lock();
TtyResponse resp = this.queryPaymentType(params);
if(StringUtils.equals(RESP_CODE_FAIL, resp.getCode())
|| StringUtils.equals(RESP_CODE_WAYPAY, resp.getCode())){
resp = this.payMoney(params);
if(StringUtils.equals(this.RESP_CODE_FAIL, resp.getCode())){
this.updatePayTypeStatus(params, OrderStatus.CLOSED);
this.cancelTransfer(params);
} else if(StringUtils.equals(this.RESP_CODE_PROCESSING, resp.getCode())){
this.updateOrderStatus(params, OrderStatus.PROCESSING);
}
} else if(StringUtils.equals(RESP_CODE_PROCESSING, resp.getCode())){
return (new TtyResponse()).setCode(ITransferPayMoneyService.RESP_CODE_PROCESSING);
} else if(StringUtils.equals(RESP_CODE_SUCCESS, resp.getCode())){
this.transferSuccess(params);
return (new TtyResponse()).setCode(ITransferPayMoneyService.RESP_CODE_SUCCESS);
}
} finally{
lock.unlock();
}
return new TtyResponse();
}
相关推荐
Oracle 存储过程 exception 异常处理大全及实例经典最终 Oracle 存储过程 exception 异常处理大全及实例经典最终是 Oracle 数据库中存储过程的异常处理机制。异常处理是指在程序执行过程中出现的错误或未预料到的...
1. `ArithmeticException`:当计算中出现除以零、非法运算等错误时,会抛出此类异常。 2. `ArrayIndexOutOfBoundsException`:当尝试访问数组的索引超出了数组的实际长度时,会抛出此类异常。 3. `...
本篇将深入探讨“【独家高薪笔面试题库】与【实战配套练习演练】9.Exception异常1”中的相关知识点。 首先,我们来了解“检查异常”(Checked Exceptions)。这类异常通常是由外部条件引起,如文件不存在、网络连接...
自定义异常是根据业务需求自定义的一类异常,通过继承 `Exception` 或其子类实现。在上述代码示例中,定义了一个名为 `MyException` 的自定义异常类,它继承了 `Exception`。 - **定义自定义异常类**: ```java ...
开发者可以创建自己的异常类,继承自`std::exception`或直接自定义,以便在特定情况下抛出更有意义的异常。 8. **异常传播**: 如果在`catch`块内部再次抛出异常,原始的异常会被丢弃,新的异常会替代它继续传播...
用于JSqlParser4.3版本解析mysql中JSON_OBJECT函数抛出ParseException异常问题,如下: // this is true SELECT JSON_OBJECT(key person value account,key personName value account_name) obj FROM tb_review_...
Java 编程中常见的十种异常类型——包括 NullPointerException, ArrayIndexOutOfBoundsException, NumberFormatException, IOException, ClassNotFoundException, FileNotFoundException, SQLException, ...
好多项目都有容错机制 后台服务器报错后 不是讲错误信息直接发给用户 而是发送一个其他页面 你在上网的时候应该遇到过后台出错了 用户看到的页面是一个小孩在哭 提示页面找不到什么的
假设需要把发生异常错误的信息写入到log.txt日志文件中去... raise Exception('发生异常错误信息') except: #方案一,自己定义一个文件,自己把错误堆栈信息写入文件。 #errorFile = open('log.txt', 'a') #errorFil
Java将Exception信息转为String字符串的方法 在 Java 编程中,异常机制是一种非常有用的... Java 将 Exception 信息转换为 String 字符串的方法可以帮助我们更好地处理和记录异常信息,从而提高程序的可靠性和维护性。
刚才看到一个多线程查询的代码,觉得那个代码只实现了单线程操作,并且使用的是.net操作类,如果路径超过256就会出现查询错误(PathTooLongException),最近也做过类似的查询操作,使用的是win32api来实现的。...
1. 产生Data too large异常 异常如下:CircuitBreakingException[[FIELDDATA] Data too large, data for [proccessDate] would be larger than limit of [xxxgb] 经排查,原来是ES默认的缓存设置让缓存区只进不出...
`Exception`类是所有系统异常的基类,包含了描述错误的基本属性,如`Message`(错误消息)和`InnerException`(内部异常)。以下是一个简单的自定义异常类的示例: ```csharp public class CustomException : ...
上面的代码将抛出 ArithmeticException 异常,因为除零错误。我们可以使用 catch 语句捕获这个异常,例如: ```java class Example1 { static void method() { int a = 0; try { int b = 10 / a; } catch ...