c# - 如何防止 CS0161 错误?- 团结
问题描述
我正在使用 unity 2018。我想将我的数据保存在我的游戏中,但我不断收到错误消息:“Assets/Assets/Scripts/SaveSystem.cs(15,30): error CS0161: `SaveSystem.LoadPlayer()': not所有代码路径都返回一个值”
这是我正在使用的当前代码:
using UnityEngine;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public static class SaveSystem {
public static void SavePlayer(GlobalCookies player)
{
BinaryFormatter formatter = new BinaryFormatter();
string path = Application.persistentDataPath + "playerdata.bcdata";
FileStream stream = new FileStream(path, FileMode.Create);
PlayerData data = new PlayerData(player);
formatter.Serialize(stream, data);
stream.Close();
}
public static PlayerData LoadPlayer()
{
string path = Application.persistentDataPath + "playerdata.bcdata";
if (File.Exists(path))
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream stream = new FileStream(path, FileMode.Open);
PlayerData data = formatter.Deserialize(stream) as PlayerData;
stream.Close();
return data;
}
else
{
Debug.LogError("Save file 'playerdata.bcdata' was not found, please reinstall the missing file (error in: " + path + ")");
}
}
}
解决方案
在您的Debug.LogError
电话下,添加throw new InvalidOperationException();
像这样:
public static PlayerData LoadPlayer()
{
string path = Application.persistentDataPath + "playerdata.bcdata";
if (File.Exists(path))
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream stream = new FileStream(path, FileMode.Open);
PlayerData data = formatter.Deserialize(stream) as PlayerData;
stream.Close();
return data;
}
else
{
String message = "Save file 'playerdata.bcdata' was not found, please reinstall the missing file (error in: " + path + ")";
Debug.LogError( message );
throw new InvalidOperationException( message );
}
}
推荐阅读
- php - 更新行而不重写数据mysql查询正确语法
- css-selectors - p.class-name 和 p[class=class-name] 之间有什么区别吗?
- php - 循环多维数组
- php - php curl 在尝试搜索关键字时返回空字符串
- sql - 将每个 ID 的插入限制为 6 行
- apache-flink - 如何通过 rest API “在 YARN 上运行单个 Flink 作业”?
- c++ - 确定操作系统是 32 位还是 64 位
- javascript - NodeJS'express.use'调用顺序不一致
- scala - try/catch/finally 是 scala 中的表达式吗?如果是,最终如何以及何时执行?
- hibernate - org.hibernate.dialect.H2Dialect 不能转换为 org.hibernate.dialect.Dialect