2013-03-21 37 views
0

我工作的一段代码,试图从在Windows Phone 8中的用户设备获得尽可能多的信息,可能我注意到这句话在认证准则将使用没有这些功能的API会导致我的应用程序终止或仅引发异常?

您的应用程序可能会意外关闭,如果它试图访问它不具有安全功能的API。有关如何使用安全功能的更多信息,请参阅如何确定应用程序 的功能。

那么究竟是什么意思?例如,此代码:

try 
{ 
    SomeInfo=SomeFunctionThatRequiresACapability(); 
} 
catch 
{ 
//oh well, I guess we can't get that piece of info. ignore it 
} 

这可能证明吗?或者我需要先检查我们是否有能力?

+0

当你测试你的代码时,这是不可能错过的。有时候不会随机抛出,你没有获得你没有要求的能力。所以不要添加try/catch,这是没用的。请勾选功能或删除代码。 – 2013-03-21 22:54:47

+0

@HansPassant这是一个其他人将自己的电话应用程序放入其中的库。我们真的想避免整个“使用此版本,如果你有这种能力”类型的东西 – Earlz 2013-03-22 03:38:25

回答

0

如果您不添加功能,它会在运行时引发异常。但是,由于XapValidation工具检查编译的代码,它不会验证xml文件中的功能列表。

+0

随Visual Studio(商店测试工具包)附带的XapValidation工具检查编译的代码?我从来没有失败过,所以我觉得它没有太大的作用 – Earlz 2013-03-21 20:31:04

+0

根据我的经验,这是一个例外是网络浏览器功能。 XapValidation可能会错过它,并会在没有能力的情况下推送您的应用程序 - 导致在运行时抛出异常。我通过在App类上创建一个WebBrowser字段来解决这个问题。 – 2013-03-21 20:59:30

+1

这不是事实。例如,根据我的经验,将地理位置服务与不具有使用权限的应用程序一起使用可能会导致应用程序无限期地挂起。 – blueocean 2013-03-21 21:45:18

相关问题