qq领取礼包账号异常常很遗憾,领取失败~去反馈领码失败

您的位置:&>& >
> QQ领取游戏礼包失败怎么办?QQ领取游戏礼包账号异常怎么回事?
QQ领取游戏礼包失败怎么办?QQ领取游戏礼包账号异常怎么回事?[图]
字体大小:【 |
13:48:19&&&
类型:社交网络大小:33.22MB评分:9.8平台:标签:
最近很多用户在QQ上面领取游戏礼包哦,与此同时不少用户在领取时出现了失败的情况哦,在此,小编给你详细的解决方法介绍哦。
QQ领取游戏礼包显示账号怎么办?
可以试着结束程序,然后重新登录一下,要是还不行的话,建议可以去联系客服来进行解决。
以上就是小编提供QQ领取游戏礼包失败的相关内容,更多,请百度"QQ友情手机站"!
专题类型:社交
更新时间:
专题标签:视频聊天社交神器聊天交友互动
手机QQ2017全新起航!视频挂件有新玩法,还有AR红包,社交也能有大玩法!手机QQ2017只为给用户更好的体验!手机QQ201...
5.0友情指数
0人0人
猜你喜欢腾讯聊天交友社交神器附近的人
腾讯集团到底有多大,相信你并不不清楚,但是它却真真实实的生活在我们的周围,而我们可能时时刻刻都在使用着它的产品。想要了解更多产品的朋友们,小编现在就为您带来腾讯...
相关软件其他版本
手机QQ软件资讯199
手机QQ软件教程76
手机QQ常见问题150
(您的评论需要经过审核才能显示)Programming in Lua(二)- 异常与错误码 ? 技术奇异点
我的图书馆
Programming in Lua(二)- 异常与错误码 ? 技术奇异点
Programming in Lua(二)- 异常与错误码
我不喜欢编程语言用「异常处理 (exception handling) 」的方式处理错误。从以往经历看,先有 C++ 创造了最差的异常实现 —— 没有 GC 帮助内存管理,扰乱 C 的二进制接口 (Application Binary Interface, ABI)。为了绕过这个拖累,维护 C++ 代码往往要花费双重开销来完成没有异常的语言可以免费获得的东西:code review 必须保证代码的「异常安全 (exception-safty)」[1],同时不写会抛出异常的新代码。
Java 提供了 GC,解决了安全实现异常处理最大的的先决条件。不过凡事皆 checked-exception 的方式令人毫无好感 [2]。Objective-C/Cocoa 中没有跨越 block 的异常机制,基本上采取传统的返回错误码方式,让我舒了一口气。但是接下来,Lua 通过 longjmp 实现跨函数的类似异常处理。一方面,让我怀疑 Lua 以简洁著称的设计是否在这点上采取了错误方式;另一方面,longjmp 并未实际引起麻烦,让我好奇异常处理是否也有某些价值。
异常处理和传统的返回错误码 (error code) 两种处理错误的方式是一场持久的争论。就在最近,围绕 Go 语言完全抛弃异常处理的语言特性,《》的作者表了极大失望。
Russ Cox 针对上文。其中提到了&Raymond Chen 两篇旧日的 blog:
Raymond Chen 用严密的逻辑和实例说明了编写正确异常处理的代码 [3]&非常非常困难。特别要注意 (但不限于) 以下两点:
正确管理资源,特别是资源的回收;关键数据的修改尽可能滞后。在中间可能抛出异常的步骤中,随时保证数据处于一致 (integral) 的合法状态。
关注第一点也许会令人假定,如果程序不涉及内存以外的资源,并有成熟的内存管理机制,就足以保证写出正确的异常处理代码。毕竟把异常处理放到 feature list 中的语言无不首先重视提供 GC 机制。由于需要根据异常的
情形考虑内存回收,这些语言一般采用 root-tracing GC 而非 ref-counting [4]。但是,将资源管理局限于内存并不足以对第二条豁免,比如复杂的图结构 (graph structure),或者更常见的情形:对象需要向多个相互关联的全局表注册自身的引用。而且话说回来,「纯」内存数据操作除了内存用尽 (out of memory) 之外又有什么值得担忧的错误需要处理呢?归根结底异常处理是一个主要面向 I/O 问题的机制。
在「纯」内存无 I/O 的环境下,能体现异常处理价值的领域并不多,仅存的适用领域之一是语言虚拟机。这正是 Lua 采用 longjmp 类似异常处理的原因,主要用于类型检查和数组越界等语言虚拟机问题。而且这时处理的错误往往不是最终产品代码 (production code) 期待的行为,并不真正用来弥补错误,只是起一些辅助作用,比如揭示 bug 和收集诊断信息,防止应用完全退出,在多文档应用中让用户有机会保存其它信息,或者让应用以 reset 之后的状态接受其它请求。类似于 Go 中的 panic 机制和 Java 中的 runtime-exception (unchecked excpetion)。
GC 虽然是实现安全的异常处理机制的先决条件之一,但只是朝向最终解决问题的很小一步。因为真正能体现异常处理价值的地方是 I/O 密集程序。有哪些 I/O 机制目前可以做到「关键数据的修改尽可能滞后。在中间可能抛出异常的步骤中,随时保证数据处于一致的合法状态」呢?作为 naive 的尝试,C++ 提出了 。但是很遗憾,异常安全的需求明显超出了 RAII 的能力。除了关系型数据库事务处理&(RDBMS transaction) 的二步式提交 (),我不知道还有什么 I/O 机制满足这个要求。也就是说,在日常需要的软件工具中包括图形化窗口化 UI,网络,打印等等常见 I/O 操作中,只有纯粹的数据库& 系统这个特殊领域适于异常处理机制。正因为如此,非数据库的 I/O API 的错误处理都应该采取返回错误码形式。特别是,以异常处理文件访问错误的 API 都是失败的设计 [5]。Java 正是被鼓吹适合数据库 CRUD 领域,所以其异常处理机制获得了一些正面评价。但是当其野心不限于此时,将仅限于数据库领域用的还不错的异常处理机制匆忙的推广到其它问题就招致了恶名。
某些系统通过异常处理或者类似异常处理的机制来解决某些问题,而且解决得还不错。这是它们的设计者针对一些能体现异常处理价值的特定领域选择的方案。这些成功案例并不能简单地推广。保守地说,要采用异常处理,必须保证所有资源置于二步式提交的事务管理之下;或者限于虚拟机内部对类型检查等非 I/O 操作的「粗粒度」错误处理。「粗粒度」表示一旦发生错误,系统采取的应对策略是放弃整个粒度较大的操作,异常处理仅仅保证程序不退出,收集 bug 诊断信息,或者保留机会处理其它请求,而不是去弥补刚发生的错误。特别是对于 Lua,这个问题还有一层含义。Lua 允许用 C 编写扩展。这种情况下要把基于 longjmp 的异常处理部分限于开始的参数类型检查,置于触及关键数据和 I/O 操作之前,一旦 C 代码涉及了实质的数据和 I/O 操作,错误处理方式就必须变为返回错误码机制。Lua 支持多返回值特性正是为返回错误码方式的应用提供便利。显然,Lua 的可扩展性也是其基于 longjmp 的机制彰显天下的原因,对于 Java 来说,虚拟机内部的具体实现和使用它的程序员是毫不相关的。
C++ 中所谓的「异常安全」也不过就是尽量使用 on-stack 对象 (以及基于 on-stack 对象的「智能」指针) 和 RAII (下文还有涉及) 而已。错误处理有经常被人混淆的两个方面。一是如何保证程序员不忽略可能的错误;二是在程序员意识到可能的错误时,如何编写正确的处理代码。本文只讨论第二个方面。因为,如何「不忽略可能的错误」属于程序员掌控应用逻辑的问题,已经超出了编程语言的能力。Java 的
试图用语言解决这个问题,但是即便是 checked-exception,也允许程序员相当容易的把异常遗留给上层 caller。其结果是,越多的错误集中在一处处理,而且远离错误发生的地点,这段异常处理代码的正确性就越难保证 (或者这段代码除了 crash/quit 无法做任何其它有意义的工作)。也许,这正是没有任何其它语言借鉴 checked-exception 机制的原因。注意这里的「异常处理的代码」指程序员用具备异常处理机制的语言编写处理实际错误的代码,不要和异常机制本身的实现混淆。Objective-C/Cocoa 舍弃异常处理的可能原因之一。另一方面,如果在 stack unwinding 时进行特定的处理,也可以用 ref-counting GC 配合异常。比如 C++ 调用 destructor 以及由此衍生的「智能」指针,还有 Python 的机制。但是我不喜欢这种将 unwinding 复杂化的机制。导致每行一个 try-catch block。
这篇文章发布于 日,星期四,20:45,归类于 , , 。 您可以跟踪这篇文章的评论通过
您可以,或者从您的站点。
馆藏&25729
TA的最新馆藏
喜欢该文的人也喜欢05-1502-1602-1602-1602-1602-1602-1602-1602-1602-16最新范文01-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-0101-01Android崩溃异常捕获方法
转载 &更新时间:日 09:50:24 & 作者:jerrylsxu
这篇文章主要介绍了Android崩溃异常捕获方法的相关资料,需要的朋友可以参考下
开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。
那么今天主要讲一下如何去捕捉系统出现的Unchecked异常。何为Unchecked异常呢,换句话说就是指非受检异常,它不能用try-catch来显示捕捉。
我们先从Exception讲起。Exception分为两类:一种是CheckedException,一种是UncheckedException。这两种Exception的区别主要是CheckedException需要用try...catch...显示的捕获,而UncheckedException不需要捕获。通常UncheckedException又叫做RuntimeException。《effective java》指出:对于可恢复的条件使用被检查的异常(CheckedException),对于程序错误(言外之意不可恢复,大错已经酿成)使用运行时异常(RuntimeException)。我们常见的RuntimeExcepiton有IllegalArgumentException、IllegalStateException、NullPointerException、IndexOutOfBoundsException等等。对于那些CheckedException就不胜枚举了,我们在编写程序过程中try...catch...捕捉的异常都是CheckedException。io包中的IOException及其子类,这些都是CheckedException。
一、使用UncaughtExceptionHandler来捕获unchecked异常
UncaughtException处理类,当程序发生Uncaught异常的时候,由该类来接管程序,并记录发送错误报告。
直接上代码吧
import java.io.F
import java.io.FileOutputS
import java.io.PrintW
import java.io.StringW
import java.io.W
import java.lang.Thread.UncaughtExceptionH
import java.lang.reflect.F
import java.text.DateF
import java.text.SimpleDateF
import java.util.D
import java.util.HashM
import java.util.L
import java.util.M
import java.util.Map.E
import java.util.regex.M
import java.util.regex.P
import android.annotation.SuppressL
import android.content.C
import android.content.pm.PackageI
import android.content.pm.PackageM
import android.content.pm.PackageManager.NameNotFoundE
import android.os.B
import android.os.E
import android.os.L
import android.util.L
import android.widget.T
* UncaughtException处理类,当程序发生Uncaught异常的时候,有该类来接管程序,并记录发送错误报告.
* @author user
@SuppressLint("SdCardPath")
public class CrashHandler implements UncaughtExceptionHandler {
public static final String TAG = "TEST";
// CrashHandler 实例
private static CrashHandler INSTANCE = new CrashHandler();
// 程序的 Context 对象
private Context mC
// 系统默认的 UncaughtException 处理类
private Thread.UncaughtExceptionHandler mDefaultH
// 用来存储设备信息和异常信息
private Map&String, String& infos = new HashMap&String, String&();
// 用来显示Toast中的信息
private static String error = "程序错误,额,不对,我应该说,服务器正在维护中,请稍后再试";
private static final Map&String, String& regexMap = new HashMap&String, String&();
// 用于格式化日期,作为日志文件名的一部分
private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss",
Locale.CHINA);
/** 保证只有一个 CrashHandler 实例 */
private CrashHandler() {
/** 获取 CrashHandler 实例 ,单例模式 */
public static CrashHandler getInstance() {
initMap();
return INSTANCE;
* @param context
public void init(Context context) {
mContext =
// 获取系统默认的 UncaughtException 处理器
mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();
// 设置该 CrashHandler 为程序的默认处理器
Thread.setDefaultUncaughtExceptionHandler(this);
Log.d("TEST", "Crash:init");
* 当 UncaughtException 发生时会转入该函数来处理
public void uncaughtException(Thread thread, Throwable ex) {
if (!handleException(ex) && mDefaultHandler != null) {
// 如果用户没有处理则让系统默认的异常处理器来处理
mDefaultHandler.uncaughtException(thread, ex);
Log.d("TEST", "defalut");
Thread.sleep();
} catch (InterruptedException e) {
Log.e(TAG, "error : ", e);
// 退出程序
android.os.Process.killProcess(android.os.Process.myPid());
// mDefaultHandler.uncaughtException(thread, ex);
System.exit();
* 自定义错误处理,收集错误信息,发送错误报告等操作均在此完成
* @param ex
* @return true:如果处理了该异常信息;否则返回 false
private boolean handleException(Throwable ex) {
if (ex == null) {
// 收集设备参数信息
// collectDeviceInfo(mContext);
// 保存日志文件
saveCrashInfoFile(ex);
// 使用 Toast 来显示异常信息
new Thread() {
public void run() {
Looper.prepare();
Toast.makeText(mContext, error, Toast.LENGTH_LONG).show();
Looper.loop();
}.start();
* 收集设备参数信息
* @param ctx
public void collectDeviceInfo(Context ctx) {
PackageManager pm = ctx.getPackageManager();
PackageInfo pi = pm.getPackageInfo(ctx.getPackageName(),
PackageManager.GET_ACTIVITIES);
if (pi != null) {
String versionName = pi.versionName == null ? "null"
: pi.versionN
String versionCode = pi.versionCode + "";
infos.put("versionName", versionName);
infos.put("versionCode", versionCode);
} catch (NameNotFoundException e) {
Log.e(TAG, "an error occured when collect package info", e);
Field[] fields = Build.class.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
infos.put(field.getName(), field.get(null).toString());
Log.d(TAG, field.getName() + " : " + field.get(null));
} catch (Exception e) {
Log.e(TAG, "an error occured when collect crash info", e);
* 保存错误信息到文件中 *
* @param ex
* @return 返回文件名称,便于将文件传送到服务器
private String saveCrashInfoFile(Throwable ex) {
StringBuffer sb = getTraceInfo(ex);
Writer writer = new StringWriter();
PrintWriter printWriter = new PrintWriter(writer);
ex.printStackTrace(printWriter);
Throwable cause = ex.getCause();
while (cause != null) {
cause.printStackTrace(printWriter);
cause = cause.getCause();
printWriter.close();
String result = writer.toString();
sb.append(result);
long timestamp = System.currentTimeMillis();
String time = formatter.format(new Date());
String fileName = "crash-" + time + "-" + timestamp + ".log";
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
String path = Environment.getExternalStorageDirectory()
+ "/crash/";
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
FileOutputStream fos = new FileOutputStream(path + fileName);
fos.write(sb.toString().getBytes());
fos.close();
return fileN
} catch (Exception e) {
Log.e(TAG, "an error occured while writing file...", e);
* 整理异常信息
* @param e
public static StringBuffer getTraceInfo(Throwable e) {
StringBuffer sb = new StringBuffer();
Throwable ex = e.getCause() == null ? e : e.getCause();
StackTraceElement[] stacks = ex.getStackTrace();
for (int i = ; i & stacks. i++) {
if (i == ) {
setError(ex.toString());
sb.append("class: ").append(stacks[i].getClassName())
.append("; method: ").append(stacks[i].getMethodName())
.append("; line: ").append(stacks[i].getLineNumber())
.append("; Exception: ").append(ex.toString() + "\n");
Log.d(TAG, sb.toString());
* 设置错误的提示语
* @param e
public static void setError(String e) {
for (Entry&String, String& m : regexMap.entrySet()) {
Log.d(TAG, e+"key:" + m.getKey() + "; value:" + m.getValue());
pattern = Pattern.compile(m.getKey());
matcher = pattern.matcher(e);
if(matcher.matches()){
error = m.getValue();
* 初始化错误的提示语
private static void initMap() {
// Java.lang.NullPointerException
// java.lang.ClassNotFoundException
// java.lang.ArithmeticException
// java.lang.ArrayIndexOutOfBoundsException
// java.lang.IllegalArgumentException
// java.lang.IllegalAccessException
// SecturityException
// NumberFormatException
// OutOfMemoryError
// StackOverflowError
// RuntimeException
regexMap.put(".*NullPointerException.*", "嘿,无中生有~Boom!");
regexMap.put(".*ClassNotFoundException.*", "你确定你能找得到它?");
regexMap.put(".*ArithmeticException.*", "我猜你的数学是体育老师教的,对吧?");
regexMap.put(".*ArrayIndexOutOfBoundsException.*", "恩,无下限=无节操,请不要跟我搭话");
regexMap.put(".*IllegalArgumentException.*", "你的出生就是一场错误。");
regexMap.put(".*IllegalAccessException.*", "很遗憾,你的信用卡账号被冻结了,无权支付");
regexMap.put(".*SecturityException.*", "死神马上降临");
regexMap.put(".*NumberFormatException.*", "想要改变一下自己形象?去泰国吧,包你满意");
regexMap.put(".*OutOfMemoryError.*", "或许你该减减肥了");
regexMap.put(".*StackOverflowError.*", "啊,啊,憋不住了!");
regexMap.put(".*RuntimeException.*", "你的人生走错了方向,重来吧");
二、建立一个Application来全局监控
import android.app.A
public class CrashApplication extends Application {
public void onCreate() {
super.onCreate();
CrashHandler crashHandler = CrashHandler.getInstance();
crashHandler.init(getApplicationContext());
最后在配置文件中加入注册信息
&application android:name=".CrashApplication" ... /&
&!--uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /--&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
提交错误日志到网络服务器这一块还没有添加。如果添加了这一块功能,就能够实时的得要用户使用时的错误日志,能够及时反馈不同机型不同时候发生的错误,能对我们开发者的后期维护带来极大的方便。
有关Android崩溃异常捕获方法小编就给大家介绍这么多,希望对大家有所帮助!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具手机软件手软合集推荐专题
您的位置:
→ QQ领取游戏礼包显示账号异常怎么办?QQ领取游戏礼包失败怎么回事?
QQ领取游戏礼包显示账号异常怎么办?QQ领取游戏礼包失败怎么回事?[图]
字体大小:【 |
16:14:00&&&
类型:社交网络大小:205MB评分:9.2平台:标签:
最近在QQ中不少的用户领取游戏礼包时都显示账号异常,从而导致领取游戏礼失败,那么QQ领取游戏礼包显示账号异常怎么办?QQ领取游戏礼包失败怎么回事?下面清风小编就给大家具体介绍下解决方法。
QQ领取游戏礼包显示账号异常怎么办?QQ领取游戏礼包失败怎么回事?
可以试着结束程序,然后重新登录一下,要是还不行的话,建议可以去联系客服来进行解决。
以上就是清风小编为大家带来的QQ领取游戏礼包显示账号异常解决方法,更多软件相关,敬请关注。
专题类型:社交类
更新时间:
专题标签:玩机必备社交神器聊天交友腾讯
手机QQ2016是一款交友必备的软件,在这款软件中,用户不仅可以随时随地聊天,而且还有收发红包、传输文件、玩游戏等等功能,为你社...
5.0清风指数
0人0人
猜你喜欢玩机必备社交神器聊天交友腾讯
现在手机已经越来越被人需要了,手机的性能在不断提升,但是想玩好手机可不仅是好的配置,过多的软件会使手机非常卡,你需要自己发现好的软件来让自己的手机体验越来越好,...
相关软件其他版本
手机QQ软件资讯128
手机QQ软件教程9
(您的评论需要经过审核才能显示)
声明:清风手游网未在任何手游交易平台有代充和返利店铺,如有相同名称,非本站行为!请勿上当!

我要回帖

更多关于 qq账号异常无法领取包 的文章

 

随机推荐