Почему я не могу попытаться поймать ошибку TimeOut на Unet
Я на самом деле использую Unet для Unity, и когда клиент пытается присоединиться, используя плохой IP, у меня возникает ошибка timeOut.
Я хотел бы избежать этой ошибки. Итак, я попытался переопределить "OnDisconnectClient" NetworkManager.
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class CustomNetworkManager : NetworkManager {
public override void OnClientDisconnect(NetworkConnection conn)
{
Debug.Log("TimeOutError");
}
}
Это работает, но эта функция также вызывается, когда клиент намеренно покидает сервер. Итак, я попробовал это:
public class CustomNetworkManager : NetworkManager {
public override void OnClientDisconnect(NetworkConnection conn)
{
try
{
base.OnClientDisconnect(conn);
}
catch(Exception e)
{
Debug.Log(e.ToString());
}
}
}
Но ошибка не ловится и все равно появляется в консоли. Я также пытался поймать без параметра Exception, но все тот же.
Спасибо за аванс за помощь.
PS: работаю на Unity 2018.2.15f1
1 ответ
Я бы использовал оператор try-catch, чтобы поймать исключение. затем в подвохе делайте то, что когда-либо пытаетесь обработать ошибки.