Advanced Search
Welcome to Omgili,
Omgili (Oh My God I Love It ;) is a search engine for discussions. With Omgili you can find answers and solutions, debates, discussions, personal experiences, opinions and more... To learn more about Omgili click here.

This is a complete preview of the discussion as it was indexed by Omgili crawlers. Use this preview if the original discussion is unavailable.
Click here to view the original discussion.

VS 2005 catch Media Player Error - VBForums

I m selecting the folder & playing all the files in the media player, of that folder.

As u know folder contains all types of files including text,zip,image & so on. So I want that when URL that is assigned to Media Player is .txt,then i assign any default image from resources. I do not want to check extensions- Currently I m checking the extension of each file before paying but i dont want dat. [code Public Class Form1 Public Ext_bmp As String = ".bmp" Public Ext_jpg As String = ".jpg" Public Ext_jpeg As String = ".jpeg" Public Ext_gif As String = ".gif" Public Ext_wma As String = ".wma" Public sExe_asx As String = ".asx" Public sExe_wax As String = ".wax" Public sExe_m3u As String = ".m3u" Public sExe_wpl As String = ".wpl" Public sExe_wvx As String = ".wvx" Public sExe_wmx As String = ".wmx" Public sExe_searchms As String = ".search-ms" Public sExe_dvrms As String = ".dvr-ms" Public sExe_mid As String = ".mid" Public sExe_rmi As String = ".rmi" Public sExe_midi As String = ".midi" Public sExe_mpeg As String = ".mpeg" Public sExe_mpg As String = ".mpg" Public sExe_m1v As String = ".m1v" Public sExe_m2v As String = ".m2v" Public sExe_mod As String = ".mod" Public sExe_mp2 As String = ".mp2" Public sExe_mpa As String = ".mpa" Public sExe_mpe As String = ".mpe" Public sExe_ifo As String = ".ifo" Public sExe_vob As String = ".vob" Public sExe_wav As String = ".wav" Public sExe_snd As String = ".snd" Public sExe_au As String = ".au" Public sExe_aif As String = ".aif" Public sExe_aifc As String = ".aifc" Public sExe_aiff As String = ".aiff" Public sExe_wmv As String = ".wmv" Public sExe_wmd As String = ".wmd" Public sExe_avi As String = ".avi" Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Dim sExtension As String sExtension = IO.Path.GetExtension("sFileName") If Trim(sExtension) = Trim(Ext_bmp) Or _ Trim(sExtension) = Trim(Ext_gif) Or _ Trim(sExtension) = Trim(Ext_jpeg) Or _ Trim(sExtension) = Trim(Ext_jpg) Or _ Trim(sExtension) = Trim(Ext_wma) Or _ Trim(sExtension) = Trim(sExe_asx) Or _ Trim(sExtension) = Trim(sExe_wax) Or _ Trim(sExtension) = Trim(sExe_m3u) Or _ Trim(sExtension) = Trim(sExe_wpl) Or _ Trim(sExtension) = Trim(sExe_wvx) Or _ Trim(sExtension) = Trim(sExe_wmx) Or _ Trim(sExtension) = Trim(sExe_searchms) Or _ Trim(sExtension) = Trim(sExe_dvrms) Or _ Trim(sExtension) = Trim(sExe_mid) Or _ Trim(sExtension) = Trim(sExe_rmi) Or _ Trim(sExtension) = Trim(sExe_midi) Or _ Trim(sExtension) = Trim(sExe_mpeg) Or _ Trim(sExtension) = Trim(sExe_mpg) Or _ Trim(sExtension) = Trim(sExe_m1v) Or _ Trim(sExtension) = Trim(sExe_m2v) Or _ Trim(sExtension) = Trim(sExe_mod) Or _ Trim(sExtension) = Trim(sExe_mp2) Or _ Trim(sExtension) = Trim(sExe_mpa) Or _ Trim(sExtension) = Trim(sExe_mpe) Or _ Trim(sExtension) = Trim(sExe_ifo) Or _ Trim(sExtension) = Trim(sExe_vob) Or _ Trim(sExtension) = Trim(sExe_wav) Or _ Trim(sExtension) = Trim(sExe_snd) Or _ Trim(sExtension) = Trim(sExe_au) Or _ Trim(sExtension) = Trim(sExe_aif) Or _ Trim(sExtension) = Trim(sExe_aifc) Or _ Trim(sExtension) = Trim(sExe_aiff) Or _ Trim(sExtension) = Trim(sExe_wmv) Or _ Trim(sExtension) = Trim(sExe_wmd) Or _ Trim(sExtension) = Trim(sExe_avi) Then WindowsMediaPlayer.URL = sFileName Else WindowsMediaPlayer.URL = My.Resources.PlayListImage End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub End Class [/code]

For a start, all your Trim calls are pointless.

You know for a fact that none of the values you've defined has leading or trailing spaces so why do you need to Trim them?

The file extensions are in the same boat.

If a file extension has leading or trailing spaces then it's not a valid file extension. Also, your code is way longer than it needs to be.

You don't need to identify what a file extension is, just whether it's valid or not.

As such you can just put all the extensions in an array and then use a single line to check whether the array contains the current extension. As for the question, you're already handling exceptions so catch the appropriate type of exception that is thrown when an invalid file type is used and then do whatever's appropriate.

But sir i have to get the extension of the file na sExtension = IO.Path.GetExtension("sFileName") And then check that extension in array,But i dont want using extension method,Is there any other way Round I know my code is longer way,But sir using if statements will take less than searching elements in array.Isn't so?Or I m wrong???

Since i get no anwer, I follow jmcilhinney suggestion... Code: Public Class Form2 Public ExtensionsArrayList As New ArrayList Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call LoadExtensionsToArrayList() End Sub Private Sub LoadExtensionsToArrayList() Try ExtensionsArrayList.Add(Ext_bmp) ExtensionsArrayList.Add(Ext_gif) ExtensionsArrayList.Add(Ext_jpeg) ExtensionsArrayList.Add(Ext_jpg) ExtensionsArrayList.Add(Ext_wma) ExtensionsArrayList.Add(sExe_asx) ExtensionsArrayList.Add(sExe_wax) ExtensionsArrayList.Add(sExe_m3u) ExtensionsArrayList.Add(sExe_wpl) ExtensionsArrayList.Add(sExe_wvx) ExtensionsArrayList.Add(sExe_wmx) ExtensionsArrayList.Add(sExe_searchms) ExtensionsArrayList.Add(sExe_dvrms) ExtensionsArrayList.Add(sExe_mid) ExtensionsArrayList.Add(sExe_rmi) ExtensionsArrayList.Add(sExe_midi) ExtensionsArrayList.Add(sExe_mpeg) ExtensionsArrayList.Add(sExe_mpg) ExtensionsArrayList.Add(sExe_m1v) ExtensionsArrayList.Add(sExe_m2v) ExtensionsArrayList.Add(sExe_mod) ExtensionsArrayList.Add(sExe_mp2) ExtensionsArrayList.Add(sExe_mpa) ExtensionsArrayList.Add(sExe_mpe) ExtensionsArrayList.Add(sExe_ifo) ExtensionsArrayList.Add(sExe_vob) ExtensionsArrayList.Add(sExe_wav) ExtensionsArrayList.Add(sExe_snd) ExtensionsArrayList.Add(sExe_au) ExtensionsArrayList.Add(sExe_aif) ExtensionsArrayList.Add(sExe_aifc) ExtensionsArrayList.Add(sExe_aiff) ExtensionsArrayList.Add(sExe_wmv) ExtensionsArrayList.Add(sExe_wmd) ExtensionsArrayList.Add(sExe_avi) Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sExtension As String sExtension = IO.Path.GetExtension("sFileName") If CheckWhetherExtValid(sExtension) Then WindowsMediaPlayer.URL = "sFileName" Else WindowsMediaPlayer.URL = FOLDER_IMAGES & "\PlayListImage.jpg" End If End Sub Private Function CheckWhetherExtValid(ByVal sExtension As String) As Boolean Try Dim lCount As Integer CheckWhetherExtValid = False For lCount = 0 To ExtensionsArrayList.Count - 1 If Trim(ExtensionsArrayList.Item(lCount).ToString) = Trim(sExtension) Then CheckWhetherExtValid = True Exit For End If Application.DoEvents() Next Catch ex As Exception MsgBox(ex.Message) CheckWhetherExtValid = False End Try End Function End Class

I already answered your question.

You just didn't read it: Quote: : As for the question, you're already handling exceptions so catch the appropriate type of exception that is thrown when an invalid file type is used and then do whatever's appropriate.

If an invalid file is opened an exception will be thrown.

Handle that exception.

Sir if file is invalid,no exception is thrown,control doesn't go in Catch block....I want that control goes to catch block..so i set the default image there & there is no need to check extensions....

Discussion Title: VS 2005 catch Media Player Error
Title Keywords: 2005  catch  Media  Player  Error  VBForums