Почему я не могу попытаться поймать ошибку TimeOut на Unet - PullRequest
0 голосов
/ 27 ноября 2018

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

Error of Unity when the server is turn-off

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

0 голосов
/ 27 ноября 2018

Я бы использовал оператор try-catch, чтобы перехватить исключение.затем в подвохе сделайте то, что когда-либо обрабатываете ошибки, которые вы хотите сделать.

...