Diskuze: Výjimka

C# .NET .NET (C# a Visual Basic) Výjimka American English version English version

Avatar
Eldest
Redaktor
Avatar
Eldest:

Ahoj/Dobrý den, „prohledávám“ 2D pole. Někdy může dojít k chybě a u tu odchytím pomocí try a catch, ale potřeboval bych, aby program nepokračoval na další věc, co je po for cyklech, ale aby dál pokračoval v „prohledávání“. Nenapadá někoho něco?

//ukázka
for(int i = 0;i < 10; i++)
for(int k =0;k < 10;k++)
{
try {
if(pole[i,k] == 10) {
// něco
}
}
catch { //odchycení, ale "prohledávání" je ukončeno..potřebuju, aby program dále pokračoval od if.... }
}
 
Odpovědět 8.12.2012 20:44
Avatar
Fugiczek
Redaktor
Avatar
Odpovídá na Eldest
Fugiczek:

přidej blok finally a tam dej co se má vykonat i když nastane vyjímka.

 
Nahoru Odpovědět 8.12.2012 20:57
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Eldest
David Čápka:

Není žádný důvod k tomu, aby se z cyklů vystoupilo. Pokud je try-catch blok vnořený v cyklech, bude cyklus dále pokračovat.

Nahoru Odpovědět 8.12.2012 20:58
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Eldest
Redaktor
Avatar
Odpovídá na David Čápka
Eldest:

Aha, tak pak je nekde jinde chyba - diky

 
Nahoru Odpovědět 8.12.2012 20:59
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Eldest
David Čápka:

Aha, on není, nebo to alespoň tak vypadá, musel bych si to přeformátovat, abych v tom kódu něco viděl. Normálně si catch vnoř do těla cyklu.

EDIT: tak je, třeba to máš blbě v programu, jak to je to musí fungovat:

//ukázka
for(int i = 0;i < 10; i++)
for(int k =0;k < 10;k++)
{
        try
        {
                if(pole[i,k] == 10)
                {
                        // něco
                }
        }
        catch
        { //odchycení, ale "prohledávání" je ukončeno..potřebuju, aby program dále       pokračoval od if.... }
        }
}
Editováno 8.12.2012 21:02
Nahoru Odpovědět 8.12.2012 21:00
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Trochu jsem se zahleděl do své křišťálové koule a napadlo mě, jestli někde v porovnávání uvnitř bloků nechybí nějaké rovnítko. U takto podivného zápisu bych se ani nedivil. Ovšem do nezveřejněné části programu nevidím.

Nahoru Odpovědět  +1 8.12.2012 21:24
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Eldest
Redaktor
Avatar
Odpovídá na David Čápka
Eldest:

Díky, už jsem to vyřešil. Problém byl v tom, že já v tom try mám podmínek více. Pokud konkrétní podmínka platí, tak se něco provede/nastaví. Problém byl v tom pokud u první podmínky nastala chyba, tak se ty ostatní podmínky (pokud byly pravdivé, tak měly něco nastavit/udělar) neprovedli...To jsem si neuvědomil.

 
Nahoru Odpovědět 8.12.2012 21:24
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 7 zpráv z 7.