IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @716
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Softvér pre účtovníctvo a mzdy

Vyskúšajte zadarmo programy KROS. Ideálne pre stredné a malé firmy. www.kros.sk

Registračné sídlo od 40 €

virtuálna kancelária, zasadačky sekretárka, recepcia, parkovanie www.companyhouse.eu

Klávesy a piána CASIO, YAMAHA

Predaj klávesov a digitálnych pián. Výhodné ceny, doprava zdarma. www.casallia.sk

Odstráňte jedy z Vášho tela.

Zbavíte sa únavy, bolestí, alergií, kožných problémov a iných ochorení. www.detoxipan.sk

International Jazz Piešťany

Úžasný džez v úžasnom meste! 1. - 10. 6. 2012 Piešťany www.jazzpiestany.sk

c# pokracovanie aj po exceptione

Zaslať odpoveď
AutorSpráva
cccp14
Užívateľ
Užívateľ

Založený: 03.05.2008
Príspevky: 8
Bydlisko: LC

PríspevokZaslal: Pi 26.03.10 22:53Odpovedať s citátomNávrat hore

kód:

Image img;
if (_moduleImagesList.TryGetValue("gamePlan", out img))
{
       pForm.BackgroundImage = img;
}
else
{
       pForm.BackgroundImage = _baseImageList["gamePlan"];
       throw new FileNotFoundException("No background image found for the application, using the default image.");
       ... dalsi kod
}


Zdravim
v predoslom kode chcem nacitat isty obrazok do pozadia formulara a ak sa tento obrazok nenajde nacitam si predvoleny, ale pomocou exception chcem upozornit nadradenu triedu, z ktorej som metodu volal aby mohla odchytit a vypisat message z tej exception ale aby kod pokracoval...
je to mozne? alebo ako inac by som mohol dat nadradenej triede vediet ze som musel pouzit iny obrazok nez cakala? inak nez cez navratovu hodnotu dik

_________________
Born in past, alive now, perhaps the death will arrive someday.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Ďuri
Administrátor
Administrátor

Založený: 11.08.2007
Príspevky: 3784
Bydlisko: Brno

PríspevokZaslal: So 27.03.10 10:15Odpovedať s citátomNávrat hore

Skus vygooglit nieco o blokoch try catch finally.
Zobraziť informácie o autoroviOdoslať súkromnú správuJabberSkype
cccp14
Užívateľ
Užívateľ

Založený: 03.05.2008
Príspevky: 8
Bydlisko: LC

PríspevokZaslal: So 27.03.10 13:26Odpovedať s citátomNávrat hore

Ďuri napísal:
Skus vygooglit nieco o blokoch try catch finally.


viem ako try-catch-finally funguju... ja len chcem nejakym sposobom (plan bol cez throw new Ex, lenze to nefunuje ako chcem) ak nastane ta situacia spomenuta vyssie upozornit triedu ktora volala tuto metodu upozornit ze nieco nastalo kus inac nez sa ocakavalo
viem ze by to slo cez navratovu hodnotu metody, len som bol zvedavy ci nie je nejaky sofistikovanejsi sposob ked navratovu pouzivam na ine..

_________________
Born in past, alive now, perhaps the death will arrive someday.
Zobraziť informácie o autoroviOdoslať súkromnú správu
cccp14
Užívateľ
Užívateľ

Založený: 03.05.2008
Príspevky: 8
Bydlisko: LC

PríspevokZaslal: So 27.03.10 14:11Odpovedať s citátomNávrat hore

uz asi viem ako to spravim

kód:

public void DrawGamePlan(Form pForm, string pSource)
        {
            Image img;
            switch (pSource)
            {
                case "module":
                    if (!_moduleImagesList.TryGetValue("gamePlan", out img))
                    {
                        throw new FileNotFoundException("No background image found for the application, using the default image.");
                    }
                    break;
                case "base":
                    try
                    {
                        img = Image.FromFile((_moduleGraphicsPath.Substring(0, _moduleGraphicsPath.Substring(0, _moduleGraphicsPath.LastIndexOf("\\")).LastIndexOf("\\"))) + "\\base\\images\\gamePlan.png");
                    }
                    catch (FileNotFoundException ex)
                    {
                        System.Diagnostics.Debug.WriteLine("No file found.");
                        throw;
                    }
                    break;
                default:
                    throw new ArgumentException("No such files exists.");
                    break;
            }

            pForm.BackgroundImage = img;
        }

a miesto kde to budem volat:
kód:

try
{DrawGamePlan(form1,"module");}
catch (FileNotFound ex)
{
         try{DrawGamePlan(form1,"base");}
         catch{MessageBox.Show("Fatalny error :(")}
}
catch (ArgumentException ex)
{
         MessageBox.Show("Naprd vstup");
}

myslis ze moze byt?

_________________
Born in past, alive now, perhaps the death will arrive someday.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Ezekiell
Užívateľ
Užívateľ

Založený: 26.09.2007
Príspevky: 53
Bydlisko: Zákopčie, Kysuce

PríspevokZaslal: Ne 28.03.10 18:05Odpovedať s citátomNávrat hore

Co povies na taketo riesenie:

kód:

public void DrawGamePlan(Form pForm, string pSource)
{
    Image img;
    if (!_moduleImagesList.TryGetValue("gamePlan", out img))
    {
        DrawGamePlan(Form pForm);
        throw new ArgumentException(string.Format("No background image found for the application from source {0}.", pSource));
    }
    pForm.BackgroundImage = img;
}

public void DrawGamePlan(Form pForm)
{
    Image img;
    try
    {
        img = Image.FromFile((_moduleGraphicsPath.Substring(0, _moduleGraphicsPath.Substring(0, _moduleGraphicsPath.LastIndexOf("\\")).LastIndexOf("\\"))) + "\\base\\images\\gamePlan.png");
    }
    catch (FileNotFoundException ex)
    {
        System.Diagnostics.Debug.WriteLine("No file found.");
        throw;
    }

    pForm.BackgroundImage = img;
}


try
{
    DrawGamePlan(form1,"module");
}
catch (FileNotFound ex)
{
    MessageBox.Show("Fatalny error :(");
}
catch (ArgumentException ex)
{
         MessageBox.Show("Naprd vstup");
}

_________________
Život by bol jednoduchší, keby sme k nemu mali zdrojový kód!
Zobraziť informácie o autoroviOdoslať súkromnú správuSkypeZobraziť autorove WWW stránky
cccp14
Užívateľ
Užívateľ

Založený: 03.05.2008
Príspevky: 8
Bydlisko: LC

PríspevokZaslal: Ne 28.03.10 20:40Odpovedať s citátomNávrat hore

poviem ti ze dik nieco take som chcel len som sa nevedel doklepat k tomu aby mi ten img na background nastavilo aj pri vyhodeni ex..

_________________
Born in past, alive now, perhaps the death will arrive someday.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd