Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 17 odgovora
  • 4.059 pregleda

Najnovija ↓

Postoje li exception error check u VB6 23.12.2007. u 14:57 · pre 229 meseci #1
Sta god kuc'o na google uvak dobijem sve za VB.NET, sta hocu da postignem imam primary key u tabeli i kada se dogodi da se key duplira ono mi obali program? Postoji li neki tutorijal za upotrebu izuzetaka (ako postoji)?
Re: Postoje li exception error check u VB6 23.12.2007. u 15:16 · pre 229 meseci #3
Nemas exceptions u vb6. Imas dve mogucnosti - On Error Resume Next - ignorise liniju koja dovodi do greske i prelazi na sledecu; On Error GoTo <label> - isto kao prethodno ali skace na zadato mesto. Posle toga iz Err objekta dobijas ID greske i mozda jos neke stvari (ne secam se dalje).

Edit: U poslednjih par tema sam par puta primatio da ti trebaju stvari kojih ima u vb.net-u ali nema u vb6. Uz rizik da me stvarno najure odavde.. Sto ne radis u vb.net-u umesto 6ice?
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Postoje li exception error check u VB6 23.12.2007. u 15:22 · pre 229 meseci #4
Citat:

Edit: U poslednjih par tema sam par puta primatio da ti trebaju stvari kojih ima u vb.net-u ali nema u vb6. Uz rizik da me stvarno najure odavde.. Sto ne radis u vb.net-u umesto 6ice?

Ja u stvari radim u .NET-u c#, ali moram da radim vb6 jer mi seminarski zahteva tako, a cilj seminarskog je da budem samouk :D, a nikada do sad nisam radio sa bazama.
btw probacu ovo sa goto label on error pa cu da javim rezultate :)
Re: Postoje li exception error check u VB6 23.12.2007. u 19:59 · pre 229 meseci #5
Kako ovo komplikovano radi :), ovo sa goto label je izgleda ono sto mi treba ali pazi ovo: Ja stavim "on error goto prikaziGresku" e a taj label ne mogu da stavim u posebnu funkciju jer onda je ovaj ne vidi, a ako je stavim iza koda na kraj u tom subu onda i kada izvrsi tacno operaciju opet prikaze poruku o gresci, a ako je stavim iznad onda prvo kaze da sam gresan :D
Problem je sto u svakom slucaju izvrsava kod iz label-a
Code:

' -------------------------------------------------------------------------------------
' dodavanje novih kontakata u bazu
'
' -------------------------------------------------------------------------------------
    If Text9.Text = "" Then
        MsgBox ("Nista nije naznaceno")
    Else
    With rsImenik
    On Error GoTo DesilaSeGreska
        .AddNew
            !ID = UCase(CInt(Text9.Text))
            !IME = UCase(Text10.Text)
            !PREZIME = UCase(Text11.Text)
            !TELFAX = UCase(Text12.Text)
            !MOB = UCase(Text13.Text)
            !ADRESA = UCase(Text14.Text)
            !GRAD = UCase(Text15.Text)
        .Update
        Text9.Text = ""
        Text10.Text = ""
        Text11.Text = ""
        Text12.Text = ""
        Text13.Text = ""
        Text14.Text = ""
        Text15.Text = ""
        MsgBox ("Novi kontakt je uspesno dodat")
            lstImenik.Clear
            FillTable
            ' exception handler
DesilaSeGreska:
                                MsgBox ("error occured")
             'end exception handler
    End With
    End If
Re: Postoje li exception error check u VB6 23.12.2007. u 20:46 · pre 229 meseci #6
Dodaj Exit Sub pre DesilaSeGreska:
Citat:
Uz rizik da me stvarno najure odavde.. Sto ne radis u vb.net-u umesto 6ice?

M'rš napolje :) Sve ćeš nam mušterije rasterati :)
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Postoje li exception error check u VB6 24.12.2007. u 02:45 · pre 229 meseci #8
Eto! Pa, tacno sam znao.
Al', je l' vidite da sam lepo nanjusio .net :)

BTW, ovo sa skakanjem tamo-amo i iskakanjem da se izbegne izvrsavanje me jako podseca na assembly :)
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Postoje li exception error check u VB6 24.12.2007. u 14:30 · pre 229 meseci #12
Nisam ni rekao da im fali nesto.
Al' sad kazem. :)
Nista im ne fali u assembly-u, ali su neprakticni u visim jezicima (kao sto je vb6, jelde) jer stvaraju necitljiv kod (asm ionako ne moze biti necitljiviji :D)

Edit: Ma ostavi, na glavno pitanje je ionako ogovoreno, a mozda nekom bude i zanimljivo :)
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Postoje li exception error check u VB6 24.12.2007. u 14:51 · pre 229 meseci #13
pa ne znam koliko je necitljiv kod sa goto i labelama, ako se "pazljivo" koriste, tj sto je ovaj kod:
Code:

Try
  ' ... ovde neki pametan kod koji ce da baci exception
Catch o As Object ' nisam siguran dal se 'vako pisu exceptioni u vb.net ali ovako se pisu u obasicu ;)
   MsgBox o.toString
End Try

citljiviji od ovoga:
Code:

On Error Goto catch
  '  ... ovde neki pametan kod koji ce da digne gresku
Goto end_try
catch:
   MsgBox Err.Description
   Err.Clear
end_try:

? :)
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: Postoje li exception error check u VB6 24.12.2007. u 16:02 · pre 229 meseci #14
Tako napisano nije velika razlika (mada i tu imas ceo red umesto keyword-a, al' ajd').
Medjutim, Try...Catch...Finally (zaboravio si Finally :)) ima vise mogucnosti.
Jedna je to sto nije o as Object nego moze biti Exception class ili neka nasledjena iz nje (potpuno custom, mozes dodati sta hoces u tu klasu i popuniti je potrebnim podacima tamo gde se izvrsava throw exception). Znaci, moze sadrzati mnogo vise (i to custom) podataka o kresKi.
Pored toga, mozes imati vise od jednog Catch pri cemu svaki hvata jedan tip greske pa se poziva onaj odgovarajuci blok. Primer:
Code:

Try
    System.IO.File.Copy(SourcePath, DestinationPath)
Catch e As PathTooLongException
    msgbox("Putanja je preduga")
Catch e As ArgumentException
    MsgBox("Argument " & e.ParamName & " is not valid.")
Catch e As FileNotFoundException
    MsgBox("File " & e.FileName & " is not found.")
End Try


Sumirano (ali ne i ograniceno na):
1. Imas ceo red On Error GoTo <label> umesto reci Try. Pri tome slican red imas i sa resume next pa se ne moze samo preleteti pogledom
2. Nije standardizovano (al' ajd' moglo bi da bude (al' nije :D))
3. Multiple Catch
4. Fleksibilniji (custom) error objekat.


BTW, do kad traje On Error komanda? Recimo u tom tvom primeru, nece li se i negde kasnije, posle end_try: labele vratiti na catch: labelu ako dodje do greske?
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Postoje li exception error check u VB6 24.12.2007. u 16:31 · pre 229 meseci #15
Citat:
Shadowed: Tako napisano nije velika razlika (mada i tu imas ceo red umesto keyword-a, al' ajd').
Medjutim, Try...Catch...Finally (zaboravio si Finally :)) ima vise mogucnosti.
Jedna je to sto nije o as Object nego moze biti Exception class ili neka nasledjena iz nje (potpuno custom, mozes dodati sta hoces u tu klasu i popuniti je potrebnim podacima tamo gde se izvrsava throw exception). Znaci, moze sadrzati mnogo vise (i to custom) podataka o kresKi.
Pored toga, mozes imati vise od jednog Catch pri cemu svaki hvata jedan tip greske pa se poziva onaj odgovarajuci blok. Primer:
Code:

Try
    System.IO.File.Copy(SourcePath, DestinationPath)
Catch e As PathTooLongException
    msgbox("Putanja je preduga")
Catch e As ArgumentException
    MsgBox("Argument " & e.ParamName & " is not valid.")
Catch e As FileNotFoundException
    MsgBox("File " & e.FileName & " is not found.")
End Try


1. Pa... postoje addin-ovi kao sto je mz tools i mozes lako da napravis "templejt" i da mu dodelis hot key, tako da cak manje "kucas" nego Try ;)
2. evo ja cu da ga standardizujem ako nije vec neko :D
3. moguce naravno:
Code:

catch:
   Select Case Err.Number
      Case 123:
            ' ...
      Case 666:
            ' ...
   End Select
   Err.Clear

;)

4. pa i to je moguce :)
- napravis cException klasu, na vrhu forme deklarises Dim exception As New cException,
- mozes lako da napravis da klasi dinamimcki dodajes propertije, i funkcije sto da ne ;) (pointeri.. :D)
- onda pozoves throw f-ju: ex.Throw "My Exception thrown" (gde Throw poziva Err.Raise da bi ga uhvatio On Error)

e sad, sto se tice finalyja, moze i to da se simulira, ali uz malo vise gimnastike :)

Citat:

BTW, do kad traje On Error komanda? Recimo u tom tvom primeru, nece li se i negde kasnije, posle end_try: labele vratiti na catch: labelu ako dodje do greske?

cim se digne greska, poziva se prvi On Error koji je "iznad" (to ne mora da bude On Error u proceduri) linije na kojoj se desila greska.
sto se tice onog mog primera, da ako posle end_try se digne greska bice pozvan taj catch, ali nista nas ne sprecava da imamo vise On Error-a u jednoj proceduri:
Code:

On Error Goto catch1
  '  ... ovde neki pametan kod koji ce da digne gresku
Goto end_try1
catch1:
   MsgBox Err.Description
   Err.Clear
end_try1:

' ...

On Error Goto catch2
  '  ... ovde neki pametan kod koji ce da digne gresku
Goto end_try2
catch2:
   MsgBox Err.Description
   Err.Clear
end_try2:


Citat:
Shadowed: Jedna je to sto nije o as Object nego moze biti Exception class ili neka nasledjena iz nje (potpuno custom, mozes dodati sta hoces u tu klasu i popuniti je potrebnim podacima tamo gde se izvrsava throw exception).

e vidis u obasicu moze da bude bilo koji objekat, ne samo onaj koji je izveden iz exception klase (ako sam te dobro razumeo, u vb.net-u moze da se hvataju samo objekti koji su izvedeni iz exception klase? nisam siguran da sam te razumeo, jer ne znam sto bi ovi iz ms-a ogranicili tako)


sto se tice obasica, ne pitaj nista, ne smem nista da ti kazem. tj ako ti kazem moracu da te ubijem :)
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: Postoje li exception error check u VB6 24.12.2007. u 16:39 · pre 229 meseci #16
OK, i hoces da kazes da sve to nije komplikovanije od try-catch-finally? Ma daj :)
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme