WindowsのコンソールプログラムでiTunesの検索プログラムを作っています。
以下のコードを実行したところ、文字入力は受け付けるのですが、その後プログラムが落ちてしまいます。
例外処理をいれたせいかもしれませんが、どうしたらいいのでしょうか?
実行結果は、iTunesに曲があれば曲名と歌手名他を表示し、なかったらないと表示します。
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6using iTunesLib; 7namespace test 8{ 9 class Program 10 { 11 static void Main(string[] args) 12 13 { 14 try 15 { 16 iTunesAppClass iTunes = new iTunesAppClass(); 17 18 // ライブラリを取得する 19 // ※この中にはミュージック、ムービー、テレビ番組など全部が含まれる 20 { 21 IITLibraryPlaylist libraryPlaylist = iTunes.LibraryPlaylist; 22 } 23 24 string comment; 25 Console.Write("探す曲名を入力してください。"); 26 comment = Console.ReadLine(); 27 28 29 // ライブラリの音楽ファイルを検索する 30 31 32 var tracks = iTunes.LibraryPlaylist.Search(comment, ITPlaylistSearchField.ITPlaylistSearchFieldSongNames); 33 34 35 36 37 { 38 var track = tracks.ItemByName[comment];//トラックを取得 39 Console.WriteLine(track.Artist + "\t" + track.Name + "がヒットしました。"); 40 } 41 42 43 } 44 45 catch (Exception) 46 { 47 Console.WriteLine("曲は見つかりませんでした。"); 48 } 49 } 50 } 51} 52 53 54 55
デバッガーで追いかけましたか?
正常に、何も出力するものがないまま終了しているのではないですか?
https://teratail.com/questions/192519
うまくいったんじゃないの?
あと、無闇矢鱈にキャッチしてはいけません。.NET Frame work の例外は、サッカーと同じです。キーパー以外はハンドの反則ですし、キーパーであってもペナルティエリア外や味方からのパスをキャッチしたら反則です。(Exceptionではなく、受ける必要があるものを、最小限の範囲で受ける)
回答2件
あなたの回答
tips
プレビュー