hegaojian / JetpackMvvm

:chicken::basketball:一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
https://github.com/hegaojian/JetpackMvvm
Apache License 2.0
3.13k stars 610 forks source link

请问如何更改网络请求错误的默认信息呢 #60

Closed qwer2y closed 3 years ago

qwer2y commented 3 years ago

这是默认封装的Exception: 这一句 "请求失败,请稍后再试" 怎么更改呢

class AppException : Exception {

    var errorMsg: String //错误消息
    var errCode: Int = 0 //错误码
    var errorLog: String? //错误日志

    constructor(errCode: Int, error: String?, errorLog: String? = "") : super(error) {
        this.errorMsg = error ?: "请求失败,请稍后再试"
        this.errCode = errCode
        this.errorLog = errorLog?:this.errorMsg
    }

    constructor(error: Error,e: Throwable?) {
        errCode = error.getKey()
        errorMsg = error.getValue()
        errorLog = e?.message
    }
}

还有这个类里面的string怎么替换呢:


   /**
     * 未知错误
     */
    UNKNOWN(1000, "请求失败,请稍后再试"),
    /**
     * 解析错误
     */
    PARSE_ERROR(1001, "解析错误,请稍后再试"),
    /**
     * 网络错误
     */
    NETWORK_ERROR(1002, "网络连接错误,请稍后重试"),

    /**
     * 证书出错
     */
    SSL_ERROR(1004, "证书出错,请稍后再试"),

    /**
     * 连接超时
     */
    TIMEOUT_ERROR(1006, "网络连接超时,请稍后重试");

    fun getValue(): String {
        return err
    }

    fun getKey(): Int {
        return code
    }
qwer2y commented 3 years ago

通过重写parseState()来自己处理code解决自己的业务问题了。