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ファイルを見てください。整形され、重要な部分は抜き出してわかりやすく表示されているはずです。
<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の項目を見てください。
- categoryid:degree_tracker.py:xxxx
- ■ 願望(家族・運動・釣りなど)によるLE ⇒AHQ
- desyncdata:Exception 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)だけだったら Sims4Studio や Package 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は入れたままで構いません。
- MODを2組に分けます。デスクトップに空のフォルダを作り、その中へModsフォルダの中身を半分ほど移してください。
- Sims4を起動してエラーが出るかテストします。
- エラーが出ればModsフォルダに残した組、出なければ抜いた組の中に原因のMODがある、ということになります。
- 原因のMODがある組をさらに2組に分けて、どちらか1組だけでテストします。
- あとは同様に、「エラーが出ればその組、出なければもう一方の組を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ファイル)です。