添加安全类型转换,适配 SQLite;更新版权声明;上一层已经有 try-catch 时,底层需要抛出异常 (#105)

* 添加安全类型转换,适配 SQLite

* 更新版权声明

* 上一层已经有 try-catch 时,底层需要抛出异常

不应该再在底层添加 try-catch,或者添加了一定要抛出新的异常。
This commit is contained in:
yeziuku 2025-01-12 16:03:06 +08:00 committed by GitHub
parent b5905a9680
commit ce0c933b35
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 97 additions and 101 deletions

View File

@ -1,4 +1,4 @@
using System.Data;
using System.Data;
using Milimoe.FunGame.Core.Api.EntityFactory;
using Milimoe.FunGame.Core.Api.OpenEntityAdapter;
using Milimoe.FunGame.Core.Api.Transmittal;
@ -416,7 +416,10 @@ namespace Milimoe.FunGame.Core.Api.Utility
{
long id = (long)drRoom[RoomQuery.Column_ID];
string roomid = (string)drRoom[RoomQuery.Column_RoomID];
DateTime createTime = (DateTime)drRoom[RoomQuery.Column_CreateTime];
if (!DateTime.TryParse(drRoom[RoomQuery.Column_CreateTime].ToString(), out DateTime createTime))
{
createTime = General.DefaultTime;
}
User roomMaster = user;
RoomType roomType = (RoomType)Convert.ToInt32(drRoom[RoomQuery.Column_RoomType]);
string gameModule = (string)drRoom[RoomQuery.Column_GameModule];
@ -424,7 +427,7 @@ namespace Milimoe.FunGame.Core.Api.Utility
RoomState roomState = (RoomState)Convert.ToInt32(drRoom[RoomQuery.Column_RoomState]);
bool isRank = Convert.ToInt32(drRoom[RoomQuery.Column_IsRank]) == 1;
string password = (string)drRoom[RoomQuery.Column_Password];
int maxUsers = (int)drRoom[RoomQuery.Column_MaxUsers];
int maxUsers = Convert.ToInt32(drRoom[RoomQuery.Column_MaxUsers]);
room = GetRoom(id, roomid, createTime, roomMaster, roomType, gameModule, gameMap, roomState, isRank, password, maxUsers);
}
return room;
@ -448,7 +451,10 @@ namespace Milimoe.FunGame.Core.Api.Utility
{
long Id = (long)drRoom[RoomQuery.Column_ID];
string Roomid = (string)drRoom[RoomQuery.Column_RoomID];
DateTime createTime = (DateTime)drRoom[RoomQuery.Column_CreateTime];
if (!DateTime.TryParse(drRoom[RoomQuery.Column_CreateTime].ToString(), out DateTime createTime))
{
createTime = General.DefaultTime;
}
User roomMaster = General.UnknownUserInstance;
if (dsUser != null && dsUser.Tables.Count > 0)
{
@ -533,8 +539,14 @@ namespace Milimoe.FunGame.Core.Api.Utility
{
long Id = (long)dr[UserQuery.Column_UID];
string Username = (string)dr[UserQuery.Column_Username];
DateTime RegTime = (DateTime)dr[UserQuery.Column_RegTime];
DateTime LastTime = (DateTime)dr[UserQuery.Column_LastTime];
if (!DateTime.TryParse(dr[UserQuery.Column_RegTime].ToString(), out DateTime RegTime))
{
RegTime = General.DefaultTime;
}
if (!DateTime.TryParse(dr[UserQuery.Column_LastTime].ToString(), out DateTime LastTime))
{
LastTime = General.DefaultTime;
}
string Email = (string)dr[UserQuery.Column_Email];
string NickName = (string)dr[UserQuery.Column_Nickname];
bool IsAdmin = Convert.ToInt32(dr[UserQuery.Column_IsAdmin]) == 1;

View File

@ -11,7 +11,7 @@
FunGame_Server
}
public const string FunGame_CopyRight = @"©2024 Milimoe. 米粒的糖果屋";
public const string FunGame_CopyRight = @"©2025 Milimoe. 米粒的糖果屋";
/// <summary>
/// 添加-debug启动项将开启DebugMode仅适用于Desktop或Console
@ -52,7 +52,7 @@
FunGame.FunGame_Server => FunGame_Server,
_ => ""
};
return type + " [版本: " + FunGame_Version + FunGame_VersionPatch + "]\n" + (type.Equals(FunGame_Desktop) ? @"©" : "(C)") + "2024 Milimoe. 保留所有权利\n";
return type + " [版本: " + FunGame_Version + FunGame_VersionPatch + "]\n" + (type.Equals(FunGame_Desktop) ? @"©" : "(C)") + "2022-Present Milimoe. 保留所有权利\n";
}
}
}

View File

@ -1,4 +1,4 @@
using System.Net;
using System.Net;
using System.Net.Sockets;
using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Library.Constant;
@ -208,8 +208,6 @@ namespace Milimoe.FunGame.Core.Service
/// <param name="clientSocket">如果是服务器接收信息需要传入客户端Socket</param>
/// <returns>SocketObjects</returns>
internal static Library.Common.Network.SocketObject[] Receive(Socket? clientSocket = null)
{
try
{
List<Library.Common.Network.SocketObject> result = [];
Socket? tempSocket = clientSocket is null ? Socket : clientSocket;
@ -260,12 +258,6 @@ namespace Milimoe.FunGame.Core.Service
}
return [.. result];
}
catch (Exception e)
{
TXTHelper.AppendErrorLog(e.GetErrorInfo());
return [];
}
}
/// <summary>
/// 接收数据流中的信息 [ 异步版 ]
@ -274,8 +266,6 @@ namespace Milimoe.FunGame.Core.Service
/// <param name="clientSocket">如果是服务器接收信息需要传入客户端Socket</param>
/// <returns>SocketObjects</returns>
internal static async Task<Library.Common.Network.SocketObject[]> ReceiveAsync(Socket? clientSocket = null)
{
try
{
List<Library.Common.Network.SocketObject> result = [];
Socket? tempSocket = clientSocket is null ? Socket : clientSocket;
@ -326,12 +316,6 @@ namespace Milimoe.FunGame.Core.Service
}
return [.. result];
}
catch (Exception e)
{
TXTHelper.AppendErrorLog(e.GetErrorInfo());
return [];
}
}
#endregion