try catch finally return

  public override bool Start(IServerConfig config)
        {
            bool flag = true;
            listenSocket = new Socket(ListenerInfo.IpEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                listenSocket.Bind(ListenerInfo.IpEndPoint);
                listenSocket.Listen(ListenerInfo.BackLog);

                SocketAsyncEventArgs tempSocketAsyncEventArgs = new SocketAsyncEventArgs();
                socketAsyncEventArgs = tempSocketAsyncEventArgs;
                tempSocketAsyncEventArgs.Completed += TempSocketAsyncEventArgs_Completed;

                bool willRaiseEvent = listenSocket.AcceptAsync(tempSocketAsyncEventArgs);
                if (willRaiseEvent == false)
                {
                    ProcessAccept(tempSocketAsyncEventArgs);
                }
            }
            catch (Exception ex)
            {
                OnError(new ErrorEventArgs {Exception = ex});
                flag = false;
            }
            return flag;
        }
原文地址:https://www.cnblogs.com/chucklu/p/4056958.html