|
 | | |
| Autor | Správa |
cccp14
 Užívateľ
 Založený: 03.05.2008 Príspevky: 8 Bydlisko: LC
 | Zaslal: Pi 26.03.10 22: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. | |
  |
 |
Ďuri
 Administrátor
 Založený: 11.08.2007 Príspevky: 3784 Bydlisko: Brno
 | Zaslal: So 27.03.10 10:15 |   |
Skus vygooglit nieco o blokoch try catch finally. |
| |
    |
 |
cccp14
 Užívateľ
 Založený: 03.05.2008 Príspevky: 8 Bydlisko: LC
 | Zaslal: So 27.03.10 13:26 |   |
| Ď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. | |
  |
 |
cccp14
 Užívateľ
 Založený: 03.05.2008 Príspevky: 8 Bydlisko: LC
 | Zaslal: So 27.03.10 14: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. | |
  |
 |
Ezekiell
 Užívateľ
 Založený: 26.09.2007 Príspevky: 53 Bydlisko: Zákopčie, Kysuce
 | Zaslal: Ne 28.03.10 18:05 |   |
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! | |
    |
 |
cccp14
 Užívateľ
 Založený: 03.05.2008 Príspevky: 8 Bydlisko: LC
 | Zaslal: Ne 28.03.10 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. | |
  |
 |
|
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.
|
| |