皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

feilong-core 1.11.5,让 Java 开发更简便的工具包

首先预览下, 本次发布的核心内容 :

– 精细化异常信息输出, 以便快速的定位问题

### [Feature] :new:

* #666 com.feilong.core.lang.NumberUtil.getAddValue(Number…) 要允许 null 值

所有数加起来.

**说明:**

– 支持跳过 null 元素相加 (since 1.11.5)
– 但是如果所有元素都是 null , 将会抛出 IllegalArgumentException

**示例:**

```JAVA
 NumberUtil.getAddValue(245)              =   11
 NumberUtil.getAddValue(new BigDecimal(6), 5) =   11
 NumberUtil.getAddValue(new BigDecimal(6), null) =   6

```

* #751 新建 feilong runtime exception `DefaultRuntimeException`

主要作用, 是在异常 message 中追加 cause exception 信息, 方便查看排查问题

对比

empty message

如下代码

```JAVA
    public void testRuntimeException(){
        try{
            int i = 1 / 0;
        }catch (Exception e){
            throw new RuntimeException("", e);
        }
    }
```

抛出的异常情况在控制台是这样的

```JAVA

java.lang.RuntimeException:
    at com.feilong.core.DefaultRuntimeExceptionTest.testRuntimeException(DefaultRuntimeExceptionTest.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at java.lang.reflect.Method.invoke(Method.java:606)
Caused by: java.lang.ArithmeticException: / by zero
    at com.feilong.core.DefaultRuntimeExceptionTest.testRuntimeException(DefaultRuntimeExceptionTest.java:61)
    ... 23 more
```

而如果使用 DefaultRuntimeException

```JAVA
    public void testDefaultRuntimeException(){
        try{
            int i = 1 / 0;
        }catch (Exception e){
            throw new DefaultRuntimeException("", e);
        }
    }

```

抛出来的信息是这样的

```JAVA

com.feilong.core.DefaultRuntimeException: **java.lang.ArithmeticException: / by zero**
    at com.feilong.core.DefaultRuntimeExceptionTest.testDefaultRuntimeException(DefaultRuntimeExceptionTest.java:53)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

Caused by: java.lang.ArithmeticException: / by zero
    at com.feilong.core.DefaultRuntimeExceptionTest.testDefaultRuntimeException(DefaultRuntimeExceptionTest.java:51)
    ... 23 more
```

### [Update]

* #747 `MethodUtil.invokeStaticMethod(Class<?>, String, Object[], Class<?>[])` 支持 私有的静态方法

### [Remove]

* none

### [Fix Bug] :bug:

* none

### [javadoc]

* #742 ConvertUtil 修改 `toBoolean(Object toBeConvertedValue)` javadoc

### [test]

* #753 CollectionsUtil new 相关方法添加单元测试

### [help wanted]

* #750 修改 `FieldUtil` 异常信息
* #746 修改 `PropertyUtil` 异常信息
* #749 修改 `ConstructorUtil` 异常消息
* #748 修改 `ClassUtil` 类异常提示
* #739 更改 `com.feilong.core.bean.BeanUtil` 异常提示
* #745 修改 Stringutil getBytes 异常提示信息
* #744 修改 `URLUtil` 异常提示信息
* #743 修改 `URIUtil` 相关异常 message
* #742 修改 SortUtil parsePropertyNameAndOrder 方法异常 message
* #741 修改 DateUtil toDate 的报错异常信息

本次升级共有 `15` 处变更, 具体参见  [1.11.5 milestone]

1.11.5 文档地址: http://feilong-core.mydoc.io/

转自 https://www.oschina.net/news/97816/feilong-core-1-11-5-released

分享到:更多 ()