Diskuze: Exceptions

C# .NET .NET (C# a Visual Basic) Exceptions American English version English version

Avatar
Patrik Bak
Člen
Avatar
Patrik Bak:

Ahojte. Uvážme kód

class Program
    {
        static string name = "idk";
        static string password = "pass";

        static void Main(string[] args)
        {
            bool t1 = LogIn("idm", "pass");
            bool t2 = LogIn("idk", "pas");
            bool t3 = LogIn("idk", "pass");
        }

        static bool LogIn(string name, string password)
        {
            if (name == Program.name && password == Program.password)
                return true;
            else
                return false;
        }
    }

Je zrejmé, že v premenných t1,t2,t3 bude postupne false,false,true, pričom v premennej t1 bude false kvôli zlému menu a v premennej t2 kvôli zlému heslu. Ja by som chcel v jednotlivých týchto prípadoch vykonávať nejakú akciu, takže ich nejako rozlíšiť. Meniť dátový typ sa mi neoplatí a chcel by som, aby vykonavána akcia bola čo najvšeobecnejšia (aby som ju mohol definovať v inej triede a dostať jednoducho sem...). Napadlo mi, že by to šlo spraviť cez exceptions. Ako by to šlo ? Prípadne, ako niečo také spraviť elegantne ?

 
Odpovědět 13.8.2015 4:28
Avatar
Odpovídá na Patrik Bak
sadlomaslox25:

ja osobne bych to delal pres enum nez pres exceptiony. napr. enum LoginResult { Success, InvalidPasswor­d,InvalidUser­name}

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +4 13.8.2015 11:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.