0
私はXamarinクロスプラットフォームのモバイル開発のために、この例を理解されています:例外からのカスタム例外メッセージがXamarinソリューションに表示されないのはなぜですか?
https://msdn.microsoft.com/en-us/library/dn879698.aspx
私はコード内の2回APIキーコピーすることで、エラーをした。具体的に
using System;
using System.Threading.Tasks;
namespace XWeatherApp
{
public class Core
{
public static async Task<Weather> GetWeather(string zipCode)
{
//Sign up for a free API key at http://openweathermap.org/appid
string key = "40aabb59f41e9e88db7be4bab11f49f8";
string queryString = "http://api.openweathermap.org/data/2.5/weather?zip="
+ zipCode + ",us&appid=" + key + "&units=imperial";
//Make sure developers running this sample replaced the API key
if (key == "40aabb59f41e9e88db7be4bab11f49f8")
{
throw new ArgumentException("You must obtain an API key from openweathermap.org/appid and save it in the 'key' variable.");
}
dynamic results = await DataService.getDataFromService(queryString).ConfigureAwait(true);
if (results["weather"] != null)
{
Weather weather = new Weather();
weather.Title = (string)results["name"];
weather.Temperature = (string)results["main"]["temp"] + " F";
weather.Wind = (string)results["wind"]["speed"] + " mph";
weather.Humidity = (string)results["main"]["humidity"] + " %";
weather.Visibility = (string)results["weather"][0]["main"];
DateTime time = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
DateTime sunrise = time.AddSeconds((double)results["sys"]["sunrise"]);
DateTime sunset = time.AddSeconds((double)results["sys"]["sunset"]);
weather.Sunrise = sunrise.ToString() + " UTC";
weather.Sunset = sunset.ToString() + " UTC";
return weather;
}
else
{
return null;
}
}
}
}
を、 2つのコメントの後の行に
私は実際のAndroid携帯にこのアプリをデプロイしました。明らかに私は例外を持っています(これは失敗したコードを探していて分かりませんでした)。
出力ウィンドウ(Visual Studio 2017)でその例外が表示されませんでした。私は唯一の画面上でこのメッセージを得た:
なぜ(すなわち、あなたは例外のカスタムメッセージopenweathermap.org/appidからAPIキーを取得し、それを保存する必要がありません」をキー '変数)。
よう
何かは、例外メッセージは、デバッグ出力ウィンドウに表示されます。 –