Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 28 Marzo 2014, 13:23:35

Titolo: gestione errori 2 (intercettare il tipo di errore)
Inserito da: allegfede - 28 Marzo 2014, 13:23:35
stavo cercando di intercettare la possibilita' che un utente inserisca in playlist due volte lo stesso brano, anche perche' la key sarebbe ripetuta e questo non e' accettabile ......

pero' benche' possa intercettare un errore generico (che mi andrebbe bene), mi piacerebbe dare un feedback all'utente di quale problema si tratti .....

purtroppo pero' non riesco a discriminare l'errore.
 
Codice: [Seleziona]
Try ColumnView_Playlist.Add(CanzoneSelezionataDiscoteca, ColumnView_Discoteca[CanzoneSelezionataDiscoteca][0])  '1=ID 0=AUTORE
  If Error Then
    Select Case Error.Code
      Case 52
        Label_Messages.Text = "This Song is already scheduled to play"
        PictureBox_Icon.Picture = "icon:/16/warning"
    End Select
    Else
      ColumnView_Playlist.Item[1] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][1]
      ColumnView_Playlist.Item[2] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][2]
      ColumnView_Playlist.Item[3] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][3]
      ColumnView_Playlist.Item[4] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][4]
      ColumnView_Playlist.Item[5] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][5]
      ColumnView_Playlist.Item[6] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][6]
      ColumnView_Playlist.Item[7] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][7]
      ColumnView_Playlist.Item[8] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][8]
      ColumnView_Playlist.Item[9] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][9]
      ColumnView_Playlist.Item[10] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][10]
      ColumnView_Playlist.Item[11] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][11]
      ColumnView_Playlist.Item[12] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][12]
  Endif

senza il try, in caso di errore sulla key ripetuta mi da': "key already used" ed i riferimenti per fare il debug (riga e form) .......
Titolo: Re: gestione errori 2 (intercettare il tipo di errore)
Inserito da: allegfede - 28 Marzo 2014, 13:30:20
con questo codiche (usando catch) ho un certo feedback ... vedo se posso fare un "mix" :D

Codice: [Seleziona]
  ColumnView_Playlist.Add(CanzoneSelezionataDiscoteca, ColumnView_Discoteca[CanzoneSelezionataDiscoteca][0])  '1=ID 0=AUTORE
  ColumnView_Playlist.Item[1] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][1]
  ColumnView_Playlist.Item[2] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][2]
  ColumnView_Playlist.Item[3] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][3]
  ColumnView_Playlist.Item[4] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][4]
  ColumnView_Playlist.Item[5] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][5]
  ColumnView_Playlist.Item[6] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][6]
  ColumnView_Playlist.Item[7] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][7]
  ColumnView_Playlist.Item[8] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][8]
  ColumnView_Playlist.Item[9] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][9]
  ColumnView_Playlist.Item[10] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][10]
  ColumnView_Playlist.Item[11] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][11]
  ColumnView_Playlist.Item[12] = ColumnView_Discoteca[CanzoneSelezionataDiscoteca][12]

Catch
  Print Error.Text & "(" & Error.Code & ")"