Răsfoiți Sursa

Add ExceptionCollector.compressExceptions

Him188 4 ani în urmă
părinte
comite
351357a8e0

+ 14 - 4
mirai-core-utils/src/commonMain/kotlin/ExceptionCollector.kt

@@ -1,10 +1,10 @@
 /*
- * Copyright 2019-2021 Mamoe Technologies and contributors.
+ * Copyright 2019-2022 Mamoe Technologies and contributors.
  *
- *  此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
- *  Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
+ * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
+ * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
  *
- *  https://github.com/mamoe/mirai/blob/master/LICENSE
+ * https://github.com/mamoe/mirai/blob/dev/LICENSE
  */
 
 package net.mamoe.mirai.utils
@@ -102,6 +102,16 @@ public open class ExceptionCollector {
         this.last = null
         this.hashCodes.clear()
     }
+
+    public companion object {
+        public fun compressExceptions(exceptions: Array<Throwable>): Throwable? {
+            return ExceptionCollector(*exceptions).getLast()
+        }
+
+        public fun compressExceptions(exception: Throwable, vararg exceptions: Throwable): Throwable {
+            return ExceptionCollector(exception, *exceptions).getLast()!!
+        }
+    }
 }
 
 /**