我开始为UWP(通用Windows平台)编写我的第一个程序。我喜欢C#,我读到了关于try-catch块的例外情况 我的应用程序中有一个特殊的结构,我希望得到一些最好的异常处理建议。
我的设置如下:
我有一个名为 MainPage 的页面,其方法为 GetInformation
我有两个类,名为 GetSetting 和 GetConnection 。使用 MainPage 的 GetInformation ,我会收到用户的输入并将其发送到 GetConnections 。在那个方法中,我然后调用 GetSetting (嵌套方法)。
这是我的结构。现在我知道每个部分都会发生错误:用户输入无效,或者我无法连接到表单系统,可能无法访问设置文件或其他一些错误。所以我在我的应用程序的每个部分添加了try-catch块(所以在 GetInformation , GetConnection , GetSetting )。
这些是我的方式,都有一些问题。在这种情况下,异常处理的最佳方法是什么。
更新:
public string GetInformation()
{
// Some codes here
var data = GetConnection();
// Some code here that use data
// Some other codes
}
public string GetConnection() // In class Connection
{
// Some codes here
var data = GetSetting();
// Some code here that use data
// Some other codes
}
public string GetSetting() // in class Setting
{
// Some codes here
}
这是我的代码。在代码的每个部分,如“这里的一些代码”,可能会发生错误。 什么是最好的方式?
答案 0 :(得分:0)
您需要在最后一步中添加Validation()方法,以获取错误(如果有)。
GetInformation()
{
return information;
}
GetConnection()
{
return connection;
}
GetSetting()
{
return setting;
}
现在在您的MainPage中包含Validation()方法并实现您的逻辑以在一个messageDialog()中显示结果
希望这有帮助。
答案 1 :(得分:-2)
您可以在捕获异常并显示消息时返回
public void Get()
{
//Your code
string returnValue;
try
{
returnValue = GetInformation();
}
catch (Exception)
{
return;
}
//Code that will not cause exception
try
{
//Another possible line of causing exception
}
catch (Exception)
{
//Error Message
return;
}
//Codes that will not cause exception
}
public string GetInformation()
{
try
{
//Your Code
}
catch (Exception e)
{
//Error message
throw new Exception();
}
}