質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

2回答

510閲覧

C#でiTunesの検索プログラムを作っていますが、曲がなかった時の処理について

BURI55

総合スコア25

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2019/06/01 02:40

編集2019/06/01 03:16

Windowsのコンソールプログラムで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 iTunesAppClass iTunes = new iTunesAppClass(); 14 15 // ライブラリを取得する 16 // ※この中にはミュージック、ムービー、テレビ番組など全部が含まれる 17 { 18 IITLibraryPlaylist libraryPlaylist = iTunes.LibraryPlaylist; 19 } 20 21 string comment; 22 Console.Write("探す曲名を入力してください。"); 23 comment = Console.ReadLine(); 24 25 26 // ライブラリの音楽ファイルを検索する 27 28 29 var tracks = iTunes.LibraryPlaylist.Search(comment, ITPlaylistSearchField.ITPlaylistSearchFieldSongNames); 30 31 32 { 33 34 { 35 var track = tracks.ItemByName[comment];//トラックを取得 36 Console.WriteLine(track.Artist + "\t" + track.Name + "がヒットしました。"); 37 38 } 39 } 40 } 41 } 42}

曲がなかった時は例外が出てしまいます。曲がなかった時は""入力曲目"はありませんでした。"と表示したいです。
例外処理を入れてみましたが、入力受付後、入力しても何も表示されなくなりました。それから入力曲目commentが表示できません。

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 iTunesAppClass iTunes = new iTunesAppClass(); 14 15 // ライブラリを取得する 16 // ※この中にはミュージック、ムービー、テレビ番組など全部が含まれる 17 { 18 IITLibraryPlaylist libraryPlaylist = iTunes.LibraryPlaylist; 19 } 20 try 21 { 22 string comment; 23 Console.Write("探す曲名を入力してください。"); 24 comment = Console.ReadLine(); 25 26 27 28 // ライブラリの音楽ファイルを検索する 29 30 { 31 var tracks = iTunes.LibraryPlaylist.Search(comment, ITPlaylistSearchField.ITPlaylistSearchFieldSongNames); 32 33 34 35 36 { 37 var track = tracks.ItemByName[comment];//トラックを取得 38 Console.WriteLine(track.Artist + "\t" + track.Name + "がヒットしました。"); 39 40 } 41 } 42 } 43 catch (NullReferenceException){; 44 { 45 Console.WriteLine("曲はヒットしませんでした。"); 46 } 47 } 48 } 49 } 50} 51 52 53 54 55 56 57

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/06/01 02:41 編集

そのコードで曲がなかったときはどうなるのでしょう。そして、それをどうしたいんでしょうか
1T2R3M4

2019/06/01 02:47

例外処理を入れればいいだけなのでは。
guest

回答2

0

例外の種類が
NullReferenceException
ということは確認されているんでしょうか?

もし確認されていないようでしたら

catch (Exception e) { Console.WriteLine("Message = {0}", e.Message); Console.WriteLine("GetType = {0}", e.GetType()); }

こちらで、例外の内容を確認してみてください。

投稿2019/06/01 03:58

k.matsuda

総合スコア293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BURI55

2019/06/01 04:01

ええ確認しました。その後書き直してうまくいきました。
k.matsuda

2019/06/01 04:05

例外処理のあと、何も表示されなくなったとあったので 新たな問題が発生したのかと思いましたが、解決されたのですね。 把握いたしました。
guest

0

ベストアンサー

try catchで例外処理を実装しましょう

投稿2019/06/01 03:17

YAmaGNZ

総合スコア10242

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問