IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Eldest
Tvůrce
Avatar
Eldest:8.12.2012 20:44

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
Tvůrce
Avatar
Odpovídá na Eldest
Fugiczek:8.12.2012 20:57

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 Hartinger
Vlastník
Avatar
Odpovídá na Eldest
David Hartinger:8.12.2012 20:58

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
New kid back on the block with a R.I.P
Avatar
Eldest
Tvůrce
Avatar
Odpovídá na David Hartinger
Eldest:8.12.2012 20:59

Aha, tak pak je nekde jinde chyba - diky

 
Nahoru Odpovědět
8.12.2012 20:59
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Eldest
David Hartinger:8.12.2012 21:00

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
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:8.12.2012 21:24

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
8.12.2012 21:24
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Eldest
Tvůrce
Avatar
Odpovídá na David Hartinger
Eldest:8.12.2012 21:24

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.