LastExceptionについて

はじめに

lastException.txt(以下LE)についてまとめました。
必要な時に必要なところだけ目を通してください。全部を読む必要はありません。

LEエラーの解決のオススメ手順は「LEアシスタントを使って、具体的な結果が出なかったらよくあるLEかどうか確かめて、該当しなかったら汎用的な対処をする」です。本当はDiscordで見てもらうのが手っ取り早いのですが、ためらう人が多いらしいので…。

LEとは

  • Sims4の動作に問題が発生した時に、Sims4が詳細を書き込むファイルです。
  • 通常 C:\Users\ユーザー名\Documents\Electronic Arts\The Sims 4 にあります。
  • 起動後、最初のLEエラーが記録されると、以前のログはクリアされます。
  • 「LEに記録される=深刻なエラー」というわけではありません(逆もまた然り)

これ

LEの発生

LEエラーが発生したことを確認する方法です。

LE通知を出すMODを入れていない場合
ゲーム上ではLEの発生はわからないので、不具合が発生した時、または定期的に自分でLEの更新日時を確認します。LEにカーソルを乗せる、またはLEを右クリックして「プロパティ」から確認できます。作成日時や日付時刻ではなく「更新日時」です。
MC Command Center(MCCC)
MCCCはLEエラーが発生すると通知を出し、独自のLEファイルを生成します。
現在のデフォルト設定では同じマップにいる間はLE通知は1回しか出ないのでご注意ください。設定の変更は「MCCCの設定>表示関連とチートの設定>MCCCのログの設定>LE通知の頻発を防ぐ」から。
Better Exceptions(BE)
LEに特化したMODです。こちらも通知の表示と、独自のLEファイルの生成を行います。MCCCと一緒に使っても構いません。

LEの確認

LEの場所
セーブデータのあるフォルダにあります。環境によって違いますが、一般的には
C:\Users\ユーザー名\Documents\Electronic Arts\The Sims 4\lastException.txt
です。lastException_123456789.txt のように数字が付いているのは古いLEです。
MCCCとBEのLEファイル
MCCCやBEはLEエラーが発生した時に、独自のファイルを生成します。MCCCの「mc_lastexception.html」はMCCCと同じフォルダ、Better Exceptionsの「BE-ExceptionReport.html」はThe Sims 4フォルダに作られます。
このファイルは、LEの重要な部分が見やすく表示され、さらにゲームのバージョンやMOD一覧などの情報が追加されます。どこかのコミュニティなどで見てもらえば、生LEよりもスムーズに具体的な回答が得られやすいです。

空っぽのLE
中に何も書かれていないLEが作られることがあります。これは「カスタム特質MOD」「カスタムフードMOD」「MODに必要なパックを持っていない」「スクリプトMODの入れすぎ」などが原因だそうです。
該当するMODや最近入れたMODを抜いてみる、50/50で原因のMODを突き止める、BEで試す、などの対処法があります。
似ているファイル
LEとは別に「lastUIException.txt」というファイルが作られることがあります。これはUI関連のエラーログで、次のようなUIに変更を加えるMODが原因のことが多いそうです。
UI Cheats Extension、More Columns in CAS、CC wrench hiders、Clean UI、
学校・キャリア・クラブ・特質・願望・スキル系のMOD

LEを見る

自分でLEを見てみましょう。いま話題のLEと同じだったり、MODが特定できる文字列が書かれていることがあります。特徴的な文字列で検索すれば、同じLEの情報が見つかるかもしれません。

まず、そのままだと読みづらいのでXMLの整形ツールなどで整形してください。

MCCCやBEを入れている場合は、それぞれのLEファイルを見てください。整形され、重要な部分は抜き出してわかりやすく表示されているはずです。

整形済みLE

<report> から </report> までが1つのエラーです。複数のエラーが記録されていることもあるので、1つだけで判断しないようにしてください。

一番重要な部分は <desyncdata> の直後の数行です。その下に並んでいる File で始まる行は関係ありません。<categoryid> も同じLEかどうかなどの判別材料になります。

よくあるLE

バニラで発生しているLEの一部です。上のほうが新しいもの(2020年9月)。

フェスティバル開始によるLE ⇒AHQ
desyncdata:[jjacobson] Exception while scoring DramaNodes: (ValueError: Trying to use DoubleSimResolver with unsupported participant: ParticipantTypeCASPart.StoredCASPartsOnObject)
ジャングル探索によるLE ⇒AHQ
categoryid:neighborhood_population_service.py:476
desyncdata:Exception raised while processing creating npc households (TypeError: '_sims4_collections.frozendict' object is not callable)
大学関連のチート・MOD、Life DeciderによるLE ⇒AHQ
desyncdataではなくcategoryidの項目を見てください。
categoryiddegree_tracker.py:xxxx
願望(家族・運動・釣りなど)によるLE ⇒AHQ
desyncdataException raised while trying to run a test event in test_events.py:
(IndexError: list assignment index (0) out of range) または (AttributeError: 'NoneType' object has no attribute 'run_test')
アパート・大学寮によるLE ⇒AHQ
desyncdata:Exception in Sim Timeline: Exception running Element (TypeError: an integer is required (got type NoneType))

LEを見てもらう

LEアシスタントを使う
LEから自動的にエラーの原因を判断してくれるページです。はっきりした原因が表示されることは少ないですが、とりあえずLEが出たら試してみるといいと思います。
使い方は「Upload lastException File」を押してLEを選択する、またはテキストエリアにLEの内容をコピペして「Find Errors」を押すだけです。
結果をクリックすると詳細が表示されます。だいたい以下のような内容です。
  • 12時間以上前のLEの場合、一番上に「古いLE」と表示されます。
  • ピンク:具体的な情報や解決策が書かれています。
  • イエロー:おおまかな情報が書かれています。
  • グリーン:同上。おそらく無視してもいいエラーです。
  • グレー:他のエラーに付随するエラー、またはLEアシスタントが未対応のエラーです。他のエラーがある場合は先にそちらを解決するよう書かれています。
ピンク色の項目があればしっかり目を通してください。ヒントが '数字'(インスタンスID)だけだったら Sims4StudioPackage Searcher でModsフォルダ内を検索し、該当するMOD/CCを削除するか更新します。S4SでのID検索方法はShift+Ctrl+Cキーでチートコンソールを出して「resource.find 数字」です。

MCCCのDiscordサーバーで見てもらう
こちらはMCCCに限らずSims4の質問や情報が集まる一大コミュニティとなっていて、毎日多くのLEが投稿・解決されています。#bilingual_support(多言語用チャンネル)なら日本語でOKです。参加から投稿までの流れはこちらの記事で詳しく書いています。

エラーへの基本的な対処法

以下は不具合に対する汎用的な対処です。LEで原因がわからない時、LEを見るのが面倒な時、LEの出ない不具合の時などにおこなってください。

LE通知はMCCCの機能です。MCCCを外せばエラーが出ても通知は出ません。


キャッシュファイルを削除する
LEと同じフォルダにある localthumbcache.package を削除します。
ちなみに、これはMODの出し入れをした時も削除が推奨されています。
ゲームを修復する
Originのゲームライブラリ画面のSims4の画像を右クリックして「修復」をします。

MODがない状態でテストする
Modsフォルダをデスクトップへドラッグ&ドロップで移動させます。
MCCCのLE通知機能を使いたい場合は、新しいModsフォルダを作り、MCCCだけ入れてください(Resource.cfgは自動生成されます)。
テストプレイをして、問題が発生しなければMODが原因ということになります。
確認が終わったら、以下の手順で保存せずにゲームを終了して、移動させたModsフォルダをTheSims4フォルダへ戻します。
メニュー>ゲームを終了する>ゲームを終了する
MODが原因の場合
下記の「50/50」(半々)と呼ばれる方法で、原因のMODを突き止めます。MCCCは入れたままで構いません。
  1. MODを2組に分けます。デスクトップに空のフォルダを作り、その中へModsフォルダの中身を半分ほど移してください。
  2. Sims4を起動してエラーが出るかテストします。
  3. エラーが出ればModsフォルダに残した組、出なければ抜いた組の中に原因のMODがある、ということになります。
  4. 原因のMODがある組をさらに2組に分けて、どちらか1組だけでテストします。
  5. あとは同様に、「エラーが出ればその組、出なければもう一方の組を2組に分けてテスト」を繰り返します。
※最初の2組だけはどちらもテストすることをオススメします。
「複数のMODを入れるとエラーが発生するが、個別に入れると発生しない」という場合は競合の可能性があります。似た内容のMODや、同じMODのバージョン違いを入れていないか確認してください。
MODが原因ではない場合
MODを外してもゲームの修復をしてもエラーが出る場合、「Sims4のバグ」「bb.moveobjectsで配置したオブジェクト」「そのセーブデータに問題がある」など様々な原因が考えられます。バグの情報を探す、新規データやデフォルトの家でテストする、Sims4フォルダをリセットする、などを試してください。

Sims4フォルダをリセットする
今までのデータが消えたりはしません。現在のデータを一旦退避させ、初期状態にしてから、必要なデータだけを元に戻すことでセーブフォルダを大掃除する方法です。
C:\Users\ユーザー名\Documents\Electronic Arts\ にある「The Sims 4」フォルダをデスクトップにドラッグ&ドロップで移動させます。
Sims4を起動すると新たにTheSims4フォルダが再生成されます。プレイして問題が発生しないかテストします。
テストが終わったら、移動させたTheSims4フォルダ内の以下のファイル・フォルダを、新しいTheSims4フォルダの中へ戻します。
  • Options.iniファイル:オプション設定の保存ファイル
  • savesフォルダ:セーブデータ
  • Trayフォルダ:マイライブラリに保存したシムや建物
  • Modsフォルダ:MOD
  • スクリーンショットフォルダ:スクショ
  • 録画したビデオフォルダ:動画
  • Custom Musicフォルダ:音楽ファイル
上書きで消えたセーブデータを復活させる
セーブデータ自体に問題がある場合などは、少し前のデータからやり直すのも手です。「ゲームをロードする」でデータを選択し、右下のロードボタンの左にある「セーブデータを修復」ボタンから上書きで消えた5回分のデータを復活させることができます。
ついでですが、たまには「保存」ではなく「名前をつけて保存」で新しいデータとしてセーブすることをオススメします(特にパッチや特殊なMODを入れた後)。

TheSims4フォルダ

TheSims4フォルダの中身を分類するとこんな感じです。
日頃のエラー対策のポイントは頭文字がLのファイル(通称Lファイル)です。

TheSims4フォルダ

2019/4/25 - 2020/2/5
inserted by FC2 system