首页/ 第 17 章 · 发布与进阶修炼/ 第 288 课
LESSON 288 · 发布与进阶修炼

错误处理与崩溃报告

错误处理完成。下一课了解游戏上线与运营。

⏱ 约 13 分钟📊 难度:入门🗂 第 17 章 · 发布与进阶修炼📍 第 288 / 300 课
课程进度
288 / 300

🎯本节学习目标

  • 掌握异常处理
  • 建立日志系统
  • 实现崩溃上报

🚀课程导读

发布后用户遇到问题,你要“看得见”。本课做错误处理与上报。

异常处理 try-catch

“兜住”错误。

  1. 【try-catch】捕获可能异常的代码:
  2. try {
  3. int.Parse(inputText.text);
  4. } catch (System.FormatException e) {
  5. Debug.LogWarning("输入不是数字:" + e.Message);
  6. }
  7. 【用途】外部数据解析、文件读写、网络请求。
  8. 【原则】别滥用(性能 + 掩盖真错误);只包“可能失败”的边界。
  9. 【日志异常】Application.logMessageReceived 收集所有日志:
  10. void OnEnable() { Application.logMessageReceived += OnLog; }
  11. void OnLog(string msg, string stack, LogType type) {
  12. // 保存/上报
  13. }
  14. 【完成】异常“兜得住”。
  15. 【注意】Unity 的 Update 异常会“卡死”该对象但不崩游戏:及时修。
💡
try-catch 用在“外部输入”边界:解析、文件、网络。内部逻辑别乱包。

崩溃与日志上报

“用户的错”看得见。

  1. 【日志文件】PC:Player.log(%APPDATA%/../LocalLow/公司名/产品名/)。
  2. 【移动端】Android:adb logcat;iOS:Console.app(Xcode)。
  3. 【崩溃上报】第三方服务(进阶):
  4. Sentry、Bugly(腾讯)、Unity Cloud Diagnostics。
  5. 【接入】SDK 初始化后自动上报崩溃/异常到后台。
  6. 【用途】发布后看用户端崩溃率、闪退原因。
  7. 【自定义上报】把错误日志 POST 到自己的服务器(进阶)。
  8. 【用户反馈】游戏内“反馈”按钮收集描述+日志。
  9. 【注意】上报要隐私合规(别传敏感信息)。
  10. 【完成】“看得见”发布后的问题。
  11. 【推荐】正式项目接一个崩溃上报服务。
错误可见 = try-catch(兜底)+ 日志(记录)+ 上报(可见)。三层。

常见错误与排查

错误:真机崩溃无从查?
原因:没日志
解决:抓取设备日志(adb logcat/Console.app);接崩溃上报服务。

动手练习

课后小任务(做出来才算真的学会)

  • 给输入解析加 try-catch
  • 监听并保存游戏日志
  • 了解崩溃上报服务

本节小结

错误处理完成。下一课了解游戏上线与运营。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课发布前的优化检查