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

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

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

UWPは、Universal Windows Platformの略。様々なデバイス向けに提供されているアプリケーションを共通のフレームワーク上で動作可能にする仕組みで、Windows10で導入されました。

C#

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

Q&A

解決済

1回答

3303閲覧

自作のUWPアプリケーションで、nullエラーで困っています。

nomurax

総合スコア32

UWP

UWPは、Universal Windows Platformの略。様々なデバイス向けに提供されているアプリケーションを共通のフレームワーク上で動作可能にする仕組みで、Windows10で導入されました。

C#

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

0グッド

0クリップ

投稿2018/02/18 03:25

###前提・実現したいこと
こんにちは。いつもたいへんお世話になります。

###発生している問題・エラーメッセージ
自作のUWPアプリケーションで、nullエラーで困っています。
場所を特定したいのですが、特定できずにいます。
こういうとき、どうするれば場所を特定できるでしょうか?

たとえばConsoleだとMainのなかをtry-catch
WPFなら、InitializerかWindow_Loadedでぜんぶをtry-catch
とかで、たいていぜんぶの処理を網羅できます。

UWPの場合は、いわゆるMainに相当するものが見当たらず。
コンストラクタなのか、OnNavigatedToなのか、Page_Loadedなのか、あるいはぜんぜん違うのか。

スレッド 0x1398 はコード 0 (0x0) で終了しました。 Exception thrown: 'System.NullReferenceException' in uwp.exe プログラム '[4208] uwp.exe' はコード -1 (0xffffffff) で終了しました。

ちなみに処理としては、ボタンクリックで、httpclientを読んで、非同期で処理しています。

C#

1public async void httpsend(string message) { 2 try { 3 client = new HttpClient(); 4 client.BaseAddress = new Uri(uri); 5 var content = new FormUrlEncodedContent(new Dictionary<string, string> 6 { 7 { "id", id }, 8 { "body", message } 9 }); 10 11 var response = await client.PostAsync(client.BaseAddress, content);// これのさなかに落ちる。 12 } 13 catch (Exception exception) { 14 Debug.WriteLine(exception.Message);//しかしここには来ない。 15 } 16}

C#

1App.g.i.cs 2 partial class App : global::Windows.UI.Xaml.Application 3 { 4 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 14.0.0.0")] 5 private bool _contentLoaded; 6 [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 14.0.0.0")] 7 [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 8 public void InitializeComponent() 9 { 10 if (_contentLoaded) 11 return; 12 13 _contentLoaded = true; 14#if DEBUG && !DISABLE_XAML_GENERATED_BINDING_DEBUG_OUTPUT 15 DebugSettings.BindingFailed += (sender, args) => 16 { 17 global::System.Diagnostics.Debug.WriteLine(args.Message); 18 }; 19#endif 20#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION 21 UnhandledException += (sender, e) => 22 { 23 if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();//ここにくる。 24 }; 25#endif 26 }

###補足情報(言語/FW/ツール等のバージョンなど)
Windows10 Home 1709 64bit

Microsoft Visual Studio Community 2017
Version 15.1 (26403.3) Release
VisualStudio.15.Release/15.1.0+26403.3
Microsoft .NET Framework
Version 4.7.02556

インストールされているバージョン:Community

Visual C# 2017 00369-60000-00001-AA631

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

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

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

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

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

guest

回答1

0

ベストアンサー

Visual Studio 2017ですので、Exception Settingsウィンドウを開いてSystem.NullReferenceExceptionをチェックするとその例外が発生する瞬間ストップされます。

イメージ説明

投稿2018/02/18 10:50

編集2018/02/18 10:52
gazette2

総合スコア179

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

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

nomurax

2018/02/18 13:00

まったく知りませんでした。VisualStudioむちゃくちゃ強力ですね。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問