| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 03.05.08 Prihlásený: 20.06.12 Príspevky: 8 Témy: 2 Bydlisko: LC | Napísal cccp14: 26.03.2010 21:53 | |
|
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. |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 27.03.2010 9:15 | |
|
Skus vygooglit nieco o blokoch try catch finally.
|
|
Registrovaný: 03.05.08 Prihlásený: 20.06.12 Príspevky: 8 Témy: 2 Bydlisko: LC | Napísal autor témy cccp14: 27.03.2010 12:26 | |
|
Ďuri píše: 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. |
|
Registrovaný: 03.05.08 Prihlásený: 20.06.12 Príspevky: 8 Témy: 2 Bydlisko: LC | Napísal autor témy cccp14: 27.03.2010 13:11 | |
|
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. |
|
Registrovaný: 26.09.07 Prihlásený: 06.06.10 Príspevky: 53 Témy: 7 Bydlisko: Zákopčie, K... |
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! |
|
Registrovaný: 03.05.08 Prihlásený: 20.06.12 Príspevky: 8 Témy: 2 Bydlisko: LC | Napísal autor témy cccp14: 28.03.2010 20:40 | |
|
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. |
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
| Nemôžete zakladať nové témy v tomto fóre 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
|
|