ale ak je výsledok väčší ako 79 kvadrilárd tak vyhodí chybu že výsledok je príliš veľky a neviete niekto ako sa to dá naprogramovat tak aby tu chybu neukazovalo proste aby program "čušal" ? vopred dík
#5Trebor
Protože například ignorovat dělení nulou (v tvém příkladě) asi nebude úplně v pořádku. Uživatel programu by měl dostat alespoň nějaké info (vysvětlení), kde je problém. Není dobrý zvyk řešit všechny vyjímky, tím že mají společnou chybovou hlášku nebo v horším případě, že vlastně žádnou nemají. Znám několik případů kdy programátoři odchytávají vyjímky stylem:
Try
'Kod kde muze byt chyba
Catch ex As Exception
MessageBox.Show("Chyba");
End Try
Co si má uživatel o takové zprávě myslet? Catch je tam od toho, aby jsi mohl nějak vyřešit problém, který nastal nebo alespoň o něm podat nějaké info.
Když už chceš odchytávat všechno tak nějak takto:
Try
TextBox16.Text = CDec(TextBox17.Text) / CDec(TextBox16.Text)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Ideální řešení by mohlo vypadat nějak takto:
Try
TextBox16.Text = CDec(TextBox17.Text) / CDec(TextBox16.Text)
Catch ex As OverflowException
MessageBox.Show("Přetečení")
Catch ex As DivideByZeroException
MessageBox.Show("Pokus o dělení nulou")
Catch ex As Exception 'ostatni vyjimky
MessageBox.Show(ex.Message)
End Try