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

View File

@ -11,7 +11,7 @@
FunGame_Server FunGame_Server
} }
public const string FunGame_CopyRight = @"©2024 Milimoe. 米粒的糖果屋"; public const string FunGame_CopyRight = @"©2025 Milimoe. 米粒的糖果屋";
/// <summary> /// <summary>
/// 添加-debug启动项将开启DebugMode仅适用于Desktop或Console /// 添加-debug启动项将开启DebugMode仅适用于Desktop或Console
@ -52,7 +52,7 @@
FunGame.FunGame_Server => FunGame_Server, 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 System.Net.Sockets;
using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Api.Utility;
using Milimoe.FunGame.Core.Library.Constant; using Milimoe.FunGame.Core.Library.Constant;
@ -208,8 +208,6 @@ namespace Milimoe.FunGame.Core.Service
/// <param name="clientSocket">如果是服务器接收信息需要传入客户端Socket</param> /// <param name="clientSocket">如果是服务器接收信息需要传入客户端Socket</param>
/// <returns>SocketObjects</returns> /// <returns>SocketObjects</returns>
internal static Library.Common.Network.SocketObject[] Receive(Socket? clientSocket = null) internal static Library.Common.Network.SocketObject[] Receive(Socket? clientSocket = null)
{
try
{ {
List<Library.Common.Network.SocketObject> result = []; List<Library.Common.Network.SocketObject> result = [];
Socket? tempSocket = clientSocket is null ? Socket : clientSocket; Socket? tempSocket = clientSocket is null ? Socket : clientSocket;
@ -260,12 +258,6 @@ namespace Milimoe.FunGame.Core.Service
} }
return [.. result]; return [.. result];
} }
catch (Exception e)
{
TXTHelper.AppendErrorLog(e.GetErrorInfo());
return [];
}
}
/// <summary> /// <summary>
/// 接收数据流中的信息 [ 异步版 ] /// 接收数据流中的信息 [ 异步版 ]
@ -274,8 +266,6 @@ namespace Milimoe.FunGame.Core.Service
/// <param name="clientSocket">如果是服务器接收信息需要传入客户端Socket</param> /// <param name="clientSocket">如果是服务器接收信息需要传入客户端Socket</param>
/// <returns>SocketObjects</returns> /// <returns>SocketObjects</returns>
internal static async Task<Library.Common.Network.SocketObject[]> ReceiveAsync(Socket? clientSocket = null) internal static async Task<Library.Common.Network.SocketObject[]> ReceiveAsync(Socket? clientSocket = null)
{
try
{ {
List<Library.Common.Network.SocketObject> result = []; List<Library.Common.Network.SocketObject> result = [];
Socket? tempSocket = clientSocket is null ? Socket : clientSocket; Socket? tempSocket = clientSocket is null ? Socket : clientSocket;
@ -326,12 +316,6 @@ namespace Milimoe.FunGame.Core.Service
} }
return [.. result]; return [.. result];
} }
catch (Exception e)
{
TXTHelper.AppendErrorLog(e.GetErrorInfo());
return [];
}
}
#endregion #endregion