Почему я не могу попытаться поймать ошибку TimeOut на Unet

Я на самом деле использую Unet для Unity, и когда клиент пытается присоединиться, используя плохой IP, у меня возникает ошибка timeOut.

Ошибка Unity при выключении сервера

Я хотел бы избежать этой ошибки. Итак, я попытался переопределить "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, чтобы поймать исключение. затем в подвохе делайте то, что когда-либо пытаетесь обработать ошибки.

Другие вопросы по тегам