为了账号安全,请及时绑定邮箱和手机立即绑定

if (File.Exists(Application.persistentDataPath +

if (File.Exists(Application.persistentDataPath +

C#
ITMISS 2022-06-18 16:44:44
if (File.Exists(Application.persistentDataPath + localUserFileName))   挂起应用程序Unity 版本 2018.3.0f2 它在 2018.3 之前的版本中工作问题似乎与Application.persistentDataPath,因为以下行也会导致应用程序挂起。Debug.Log("Application.persistentDataPath " + Application.persistentDataPath);  有没有办法在不降级 Unity 的情况下解决这个问题?控制台中不会生成错误日志。正如@andrew-%c5%81ukasik 建议的那样,我测试了以下代码。try{    Debug.Log("Application.persistentDataPath " + Application.persistentDataPath);}catch (System.Exception ex){    Debug.LogException(ex);}现在,控制台出现两个错误: 1. GetGfxDevice() 只能从主线程调用(这个错误是指catch 块中的行) 2. UnityException: get_persistentDataPath 只能从主线程调用。加载场景时,构造函数和字段初始化程序将从加载线程中执行。不要在构造函数或字段初始化程序中使用此函数,而是将初始化代码移至 Awake 或 Start 函数。(此错误指的是 try 块中的行。)这不是Download and save image into Application的重复。persistentDataPath会挂起应用程序因为上一个的挂起问题与从url下载并保存到本地文件有关。然而,这是一个纯粹的本地过程。
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

将此代码放在 try-catch 块中:


try

{

    /* here */

} catch( System.Exception ex )

{

    Debug.LogException(ex);

    //you can add additional code here to handle this exception

    //example: break loop (especially when it's infinite one), stop method execution, etc.

}

有时代码会抛出统一未捕获的异常。例如,当代码不在主线程上执行时,就会发生这种情况。


同时打开编辑器原始日志文件,任何错误的证据都会在那里


查看完整回答
反对 回复 2022-06-18
  • 1 回答
  • 0 关注
  • 238 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号