hola, estuve googleando buscando ejemplos de como utilizar ciertas excepciones pero solo encuentro sintaxys y quisiera algún ejemplo sencillo de como se utiliza cada uno de estos terminos
aclaro que quiero saber como se usan estos terminos dentro del manejo de exepciones (try...catch) para visual basic en aplicacion consola
termnos:
1) WHEN
2) NUMBER
3) DESCRIPTION
4) ON ERROR
5) THROW
6) EXIT TRY
Las preguntas sobre Visual Basic.NET debes publicarlas en el foro de .NET, no en el de Visual Basic 6.
Por favor, aclara si tu pregunta es sobre VB6 o VB.NET, ya que has preguntado por
keywords o palabras clave de ambos lenguajes... y otros términos que diréctamente no existen ("NUMBER", "DESCRIPTION" ...¿?)
Todo lo que necesitas saber con ejemplos incluidos está en la documentación oficial de Microsoft...
- How to: Catch an Exception in Visual Basic | MSDN (https://msdn.microsoft.com/en-us/library/ys1b32h3(v=vs.100).aspx)
- Try...Catch...Finally Statement | docs.microsoft.com (https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/try-catch-finally-statement)
- Try...Catch...Finally Statement | MSDN (https://msdn.microsoft.com/en-us/library/fk6t46tz%28VS.80%29.aspx)
- How to: Throw an Exception in Visual Basic | MSDN (https://msdn.microsoft.com/en-us/library/z7w9ff54(v=vs.100).aspx)
- Throw Statement | docs.microsoft.com (https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/throw-statement)
+
- Marshal.ThrowExceptionForHR() Method| MSDN (https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.throwexceptionforhr(v=vs.110).aspx)
PD: La sentencia
On Error Go To / Resume Next es de VB6 antiguo. Es algo obsoleto, un modo desestructurado de controlar excepciones que ni por asomo se te debería pasar por la cabeza aplicarlo en la programación de un código VB.NET.
Aunque ahí arriba tienes muchos ejemplos de uso, de todas formas he escrito este mini ejemplo por si te sirve:
Dim filepaths As String() = {
"C:\qwerty.file",
"C:\ratatata.txt",
"C:\Windows\Explorer.exe"
}
Dim fs As FileStream = Nothing
For Each filepath As String In filepaths
Try
fs = File.Open(filepath, FileMode.Open, FileAccess.ReadWrite)
' Controla la excepción de tipo 'FileNotFoundException' solamente cuando el nombre del archivo implicado es "C:\qwerty.file".
Catch ex As FileNotFoundException When ex.FileName = "C:\qwerty.file"
MessageBox.Show("Catch ex As FileNotFoundException When ex.FileName = ""C:\qwerty.file""" & Environment.NewLine & ex.Message())
' Controla las demás excepciones de tipo 'FileNotFoundException'.
Catch ex As FileNotFoundException
MessageBox.Show("Catch ex As FileNotFoundException" & Environment.NewLine & ex.ToString())
' Controla la excepción de tipo 'IOException' solamente cuando el código de error H_RESULT es 'ERROR_SHARING_VIOLATION'.
Catch ex As IOException When ex.HResult = &H80070020
MessageBox.Show("Catch ex As IOException When ex.HResult = &H80070020" & Environment.NewLine & ex.Message())
' Controla las demás excepciones de tipo 'IOException'.
Catch ex As IOException
MessageBox.Show("Catch ex As IOException" & Environment.NewLine & ex.Message())
' Controla el resto de posibles excepciones. ( Todas las excepciones derivan de la clase 'System.Exception'. )
Catch ex As Exception
MessageBox.Show("Catch ex As Exception" & Environment.NewLine & ex.Message())
' Nota: las instrucciones del bloque 'Finally' se ejecutarán al terminar la ejecución del bloque 'Try/Catch',
' por lo que podemos (y debemos) utilizar este bloque para asegurarnos de liberar recursos acumulados en el bloque 'Try'.
Finally
If (fs IsNot Nothing) Then
fs.Dispose()
End If
End Try
Next filepath
Saludos.