美文网首页Android杂文
异常抛出的一个技巧

异常抛出的一个技巧

作者: wutongke | 来源:发表于2017-07-10 19:52 被阅读98次

    在程序开发中,异常不可避免,一方面可以帮助我们快速定位程序到程序错误位置,另一方面异常会导致程序crash。

    作为Android开发人员,有没有什么方法可以帮助我们既可以利用异常来快速定位错误,又可以避免程序crash呢?

    以下是一个小技巧,即利用BuildConfig.DEBUG变量在debug环境下抛出异常,在release环境下不做处理:

        public static void safeThrow(@Nullable Context context, @NonNull RuntimeException e) {
            if (BuildConfig.DEBUG) {
                if (Looper.myLooper() != Looper.getMainLooper()) {
                    throw e;
                }
                Activity activity = context instanceof Activity ? (Activity) context : null;
              //如果contest是Activity,可以利用Activity直接弹出Alert
                if (activity == null) {
                    throw e;
                } else {
                    new AlertDialog.Builder(activity)
                        .setView(view)
                        .show();
                }
            }
        }
    

    在需要抛出异常的逻辑中使用以上的静态方法,即可以实现只在debug环境下抛出异常了。

    欢迎关注公众号wutongke,定期推送移动开发前沿技术文章:

    wutongke

    相关文章

      网友评论

        本文标题:异常抛出的一个技巧

        本文链接:https://www.haomeiwen.com/subject/vyyuhxtx.html