我实际上将Unet用于Unity,当客户端尝试使用错误的IP加入时,出现超时错误。
我想避免出现此timeout错误。因此,我尝试覆盖NetworkManager的“ OnDisconnectClient”。
public class CustomNetworkManager : NetworkManager {
public override void OnClientDisconnect(NetworkConnection conn)
{
try
{
base.OnClientDisconnect(conn);
}
catch(Exception e)
{
Debug.Log(e.ToString());
}
}
}
它有效,但是当客户端有意退出服务器时,也会调用此函数。 所以我尝试了这个:
getFilteredSizing() {
const filterPressureAndFlowRate = row => {
return (
row['Pressure'] === this.state.pressure &&
(parseFloat(row['Flow_min (GPD)']) <= parseFloat(this.state.flowRate) &&
parseFloat(row['Flow_max (GPD)']) >= parseFloat(this.state.flowRate))
);
};
// filters are named by attr stored in react state
// cols are column names in solar-sizing.js
const filterBy = (attr, col) => result =>
this.state[attr] === '' || this.state[attr] === result[col];
return sizing
.filter(filterPressureAndFlowRate)
.filter(filterBy('filterMotor', 'Motor'))
.filter(filterBy('filterPlunger', 'Plunger'))
.filter(filterBy('filterHead', 'Head'))
.filter(filterBy('filterControl', 'Controls'));
}
但是该错误没有捕获,仍然在控制台中弹出。我也尝试了没有Exception参数的catch,但还是一样。
非常感谢您的帮助。
PS:我在Unity 2018.2.15f1上工作
答案 0 :(得分:0)
我将使用try-catch语句来捕获异常。然后在陷阱中执行您想做的错误处理。