grails&groovy的IllegalArgument异常
我在开发的过程中遇到了这样一个异常,总是提示IllegalArgument异常,代码大致如下:
if(haomgl.save(flush:true)){
//更新库存:状态为2的位置存煤
def cunmInfoOfWeiz = null;
def cunmInfoListOfWeiz = getCunmInfoListOfWeiz(haomgl.getMixunit().id, haomgl.getStoreposition(), haomgl.getCoaltype().id);
if(cunmInfoListOfWeiz.size() > 0){
cunmInfoOfWeiz = Jinmgl.get(Integer.parseInt(String.valueOf(cunmInfoListOfWeiz.get(0).id.intValue())));
.....10 } else { ... }
代码在执行到7行时调用get方法时总是抛出这个IllegalArgument异常,查了好久以为是实体类Domain中存在字段为空,所以报这个错,后来发现,将4、5行代码改成下面的定义就可以了,
Jinmgl cunmInfoOfWeiz = null;
List cunmInfoListOfWeiz = getCunmInfoListOfWeiz(haomgl.getMixunit().id, haomgl.getStoreposition(), haomgl.getCoaltype().id);
把相应的对象不用def去定义,而是直接使用它的类型背身定义异常就不会出现了。
另一种原因就是你的数据有null的。
grails&groovy的IllegalArgument异常的更多相关文章
- hibernate的get、load的方法的区别,IllegalArgument异常
关于hibernate中的load,get,以及延迟加载问题 今天在使用hibernate时,发现一异常: could not initialize proxy - no Session 查询资料之后 ...
- eclipse-4.4.2安装Groovy插件(其他版本eclipse可参考)
步骤 : 1.启动eclipse,点击help -> Install New Software... 在弹出的窗口中点击:Add... Groovy插件的地址:http://dist.sprin ...
- Groovy入门(2-2)Groovy的eclipse插件安装
1.安装eclipse插件 启动eclipse,点击help -> Install New Software... 在弹出的窗口中点击:Add... Groovy插件的地址:http://dis ...
- Gradle系列之一 Groovy语法精讲
Gradle技术之一 Groovy语法精讲 gradle脚本是基于groovy语言开发的,想要学好gradle必须先要对groovy有一个基本的认识 1. Groovy特点 groovy是一种DSL语 ...
- Grails里DOMAIN类的一对一,一对多,多对多关系总结及集成测试
终于干完这一章节,收获很多啊. 和DJANGO有类似,也有不同. User.groovy: package com.grailsinaction class User { String loginId ...
- 【gradle使用前篇—Groovy简介】
Groovy介绍 Groovy是一种动态语言,对它的定义是:Groovy是在java平台上的,具有像Python.Ruby和smalltalk语言特性的灵活动态语言,Groovy保证了这些特性像jav ...
- Groovy脚本基础全攻略
1 背景 Groovy脚本基于Java且拓展了Java,所以从某种程度来说掌握Java是学习Groovy的前提,故本文适用于不熟悉Groovy却想快速得到Groovy核心基础干货的Java开发者(注意 ...
- Java资源大全中文版(Awesome最新版)
Awesome系列的Java资源整理.awesome-java 就是akullpp发起维护的Java资源列表,内容包括:构建工具.数据库.框架.模板.安全.代码分析.日志.第三方库.书籍.Java 站 ...
- Java开源框架推荐(全)
Build Tool Tools which handle the buildcycle of an application. Apache Maven - Declarative build and ...
随机推荐
- Contains Duplicate II ——LeetCode
Given an array of integers and an integer k, find out whether there there are two distinct indices i ...
- MySQL错误代码大全
130 :文件格式不正确.(还不是很清楚错误的状况)145 :文件无法打开.1005:创建表失败.1006:创建数据库失败.1007:数据库已存在,创建数据库失败.1008:数据库不存在,删除数据库 ...
- UVa 11796 计算几何
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- hdoj 4552 怪盗基德的挑战书【求前缀在字符串中出现的次数之和】
怪盗基德的挑战书 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Su ...
- lyGrid表格插件
表格基础参数: grid = lyGrid({ l_column : [{//表格列表数据 colkey : null, ...
- windows路由命令route
route print 查看当前的路由信息 route add 10.0.0.0 mask 255.0.0.0 10.1.1.1 增加一条到10.0.0.0/8网络的路由,网关是10.1.1.1 ro ...
- 高性能Java Web 页面静态化技术(原创)
package com.yancms.util; import java.io.*; import org.apache.commons.httpclient.*; import org.apache ...
- python获取网络时间和本地时间
今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释. python获取网络时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- motan源码分析九:开关
在前面的文章中,我们已经发现了开关的踪影,例如cluster,motan支持多个cluster,当前的cluster因为开关关闭的情况下,就会使用下一个cluster. 1.开关相关的类和接口主要都在 ...
- iOS中UITableView的cell点击事件不触发didSelectRowAtIndexPath(汇总)
iOS中UITableView的cell点击事件不触发didSelectRowAtIndexPath 首先分析有几种原因,以及相应的解决方法 1.UITableViewCell的userInterac ...