zwracanie Exception

Wątek przeniesiony 2016-11-10 15:55 z C# i .NET przez ŁF.

KR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 260
0

Cześć,

Czy mając kilka funkcji w osobnym pliku cs (klasie) mogę "zwrócić" do klasy w której jest ta funkcja użyta wyjątek ??

A łatwiej :)
Jakaś klasa:

Kopiuj
Class1
{
     public string funkcja(string zmienna)
     {
        try
        {
                if(zmienna) return zmienna;
        }
        catch (Exception ex)
        {
                //jak zwrócić ex.Message ??
        }
     }
}

Klasa stronaWEB

Kopiuj
public partial class stronaWEB : System.Web.UI.Page
{
        Class1 Klasa = new Class1();

        protected void Page_Load(object sender, EventArgs e)
        {
              txtPole = Klasa.funkcja(zmienna);
        }
}

P.S wiem, że powyższy kod nie wywali błędu (Exception), ale chodzi mi o zobrazowanie tego, co mam na myśli :)

spartanPAGE
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
using System;

public class Test {
	public static string Ping()  {
		try {
			throw new Exception("Pong");
		} catch(Exception ex) {
			return ex.Message;
		}
		return "";
	}
	
	public static void Main() {
		Console.WriteLine("Ping: " + Ping());
	}
}

http://ideone.com/rPaAtx
Ping: Pong

czyli zwyczajnie

Kopiuj
Class1
{
     public string funkcja(string zmienna)
     {
        try
        {
                if(zmienna) return zmienna;
        }
        catch (Exception ex)
        {
-                //jak zwrócić ex.Message ??
+            return ex.Message;
        }
     }
}
vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
3

Pewnie można, ale to zły pomysł.
Jak przewidujesz brak wartości lub problem z jej uzyskaniem to raczej zadeklaruj to jakoś w interfejsie funkcji a nie zwracaj jakieś śmieci (bo treść wyjątku dla kogoś kto się spodziewa np. imienia i nazwiska to - śmieci).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.