From c03fb41fd00484d459b9a606707ec5564ef6fb1a Mon Sep 17 00:00:00 2001 From: Him188 Date: Fri, 14 Feb 2020 18:40:04 +0800 Subject: [PATCH] Add LoginFailedException --- .../commonMain/kotlin/net.mamoe.mirai/Bot.kt | 7 ++++-- .../network/LoginFailedException.kt | 22 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/LoginFailedException.kt diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/Bot.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/Bot.kt index c8fac4b3f..759c5041c 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/Bot.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/Bot.kt @@ -24,6 +24,7 @@ import net.mamoe.mirai.data.GroupInfo import net.mamoe.mirai.data.MemberInfo import net.mamoe.mirai.message.data.Image import net.mamoe.mirai.network.BotNetworkHandler +import net.mamoe.mirai.network.LoginFailedException import net.mamoe.mirai.utils.* import net.mamoe.mirai.utils.io.transferTo @@ -175,9 +176,11 @@ abstract class Bot : CoroutineScope { /** * 登录, 或重新登录. - * 不建议调用这个函数. + * 重新登录时不会再次拉取联系人列表. * - * 最终调用 [net.mamoe.mirai.network.BotNetworkHandler.login] + * 最终调用 [net.mamoe.mirai.network.BotNetworkHandler.relogin] + * + * @throws LoginFailedException */ abstract suspend fun login() // endregion diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/LoginFailedException.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/LoginFailedException.kt new file mode 100644 index 000000000..74573fb1b --- /dev/null +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/network/LoginFailedException.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2020 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. + * + * https://github.com/mamoe/mirai/blob/master/LICENSE + */ + +package net.mamoe.mirai.network + +/** + * 正常登录失败时抛出 + */ +sealed class LoginFailedException : RuntimeException { + constructor() : super() + constructor(message: String?) : super(message) + constructor(message: String?, cause: Throwable?) : super(message, cause) + constructor(cause: Throwable?) : super(cause) +} + +class WrongPasswordException(message: String?) : LoginFailedException(message) \ No newline at end of file