跳到内容
Tanven,首页

lastException:游戏留下的报告能告诉您什么(以及不能告诉您什么)

现在就做:用记事本打开这个文件,翻到最后几行,找一个您在自己模组里认得出的名字。什么都别删——这份报告常常会点名一个模组,但不一定是对的那个,有时一个也不点。本页展开的是指南的第 5 步:文件在哪里、怎么读、以及它没法告诉您什么。

← 完整指南 · Tanven

1.文件在哪里

在「文档 → Electronic Arts → The Sims 4」的根目录下,就在 Mods 文件夹旁边:一个文件名以 lastException 开头的文本文件。游戏在某个脚本出错的那一刻写下它。如果有好几个,取最新的那个——按修改日期给文件夹排序。如果一个也没有,直接跳到第 5 步:没有报告本身就是一条信息。

2.用记事本打开它

右键点击文件 → 打开方式 → 记事本,或任何文本编辑器。不用安装任何东西。内容是英文的,看起来像代码:这很正常,您不需要看懂它。您只在里面找一样东西——一个名字。

3.lastException 还是 lastUIException?

游戏会写两种不同的报告,而它们总是被搞混。lastException 说的是脚本:能点名模组的是它。lastUIException 说的是界面——菜单、面板——不管里面写了什么,它都不可能指控一个脚本模组。如果您只有第二种,从里面找到的名字什么也证明不了。

4.在文本里认出模组的名字

翻到最后几行。以 Traceback 开头的那一段,逐行列出错误发生时游戏正在执行到哪里;最末一行说的是哪种错误。每一行 File 都带着一个路径:

Traceback (most recent call last):
  File "T:\InGame\Gameplay\Scripts\Server\...\service_manager.py", line 346, in start_single_service
  File "C:\Users\...\Mods\my_mod\career.py", line 12, in start
KeyError: 3

以 T:\InGame 开头的路径是游戏自己的代码——那是工作室的机器,不是您的——永远不会指向模组。其他任何路径都是模组。别在您的硬盘上找它:那是模组作者电脑上的路径,是作者打包模组时的样子。要紧的是最后几个词——这里是 my_mod——脚本的内部名字,通常和模组的名字很接近,但不一定和您 Mods 文件夹里的文件名完全一样。

被点名的模组不一定就是罪魁祸首。一个模组可能因为另一个而出错——缺失或过时的前置依赖,或者另一个动了同一处的模组。而一个时刻盯着游戏的模组,几乎会出现在每一份报告里,却与错误毫无关系。把这个名字当成嫌疑人来读,而不是判决。

5.当报告什么也没点名

三种情况,都很常见。所有行都来自 T:\InGame:报告没有指控任何脚本——错误可能来自游戏本身,或者来自一个没有脚本的模组(改设置的 .package),它根本没有路径可以写进报告。报告点名了一个您找不到的模组:内部名字和文件名不一样——到您的 .ts4script 文件名里找,或者去作者的页面找。压根没有报告:卡死或闪退什么都不会写——游戏只记录它自己捕获到的错误。所以没有报告不等于没有罪魁祸首:这时候由二分排查法来裁决,也就是指南的第 6 步。

6.拿到名字之后怎么办

先看看模组作者有没有在游戏最近一次补丁之后发布新版本:这是常见的原因,解决起来也省事。否则,把它的文件移出 Mods——放到桌面,放进一个「待定」文件夹——不要删除,然后重新启动游戏。如果没有它同样的报告还是出现,那就不是它:把它放回去,转向下一个嫌疑对象,或者做二分排查。

本页免费,并且会一直免费。排查的其余部分——补丁后被取消勾选的模组、放错位置的文件、缓存、二分排查——都在完整指南里,按顺序排好。

← 返回指南