可能重复:
在c#中捕获特定异常与一般异常
这是一个示例方法
private static void outputDictionaryContentsByDescending(Dictionary<string, int> list)
{
try
{
//Outputs entire list in descending order
foreach (KeyValuePair<string, int> pair in list.OrderByDescending(key => key.Value))
{
Console.WriteLine("{0}, {1}", pair.Key, pair.Value);
}
}
catch (Exception e)
{
MessageBox.Show(e.Message, "Error detected", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道除了Exception使用更具体的catch子句有什么优势之外还要使用什么异常子句.
编辑:好的,谢谢大家
所以基本上当我尝试这样做时
char* inputFileName;
cout<< "Filename: "; cin>>*inputFileName;
Run Code Online (Sandbox Code Playgroud)
它让我输入文件名但是当我按下回车时我得到一个未处理的异常错误.有任何想法吗?
如果我尝试也编辑
char* inputFileName;
cout<< "Filename: "; cin>>inputFileName;
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,我得到一个调试断言失败.
使用long或float设置手机号码变量时,会显示"错误:整数到大:07859664443"
这是代码
public class StudentNode
{
public long TelNumber;
public void setTelNumber(long aTelNumber)
{
TelNumber = aTelNumber;
}
}
Run Code Online (Sandbox Code Playgroud)
不应该长到能够存储电话号码吗?
这是方法
public void addModuleToStudent(Module aModule)
{
int position = 0;
if(position > 3)
{
System.out.println("Error: Student already has four modules\n");
}
else
{
moduleArray[position] = aModule;
position++;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是位置似乎没有增加位置变量,因为当我添加模块类时,它占据数组中的第一个位置,当我添加另一个而不是被添加到第二个位置时,它会覆盖第一个位置.
目前我有一个阵列
public Module[]moduleArray = new Module[4];
Run Code Online (Sandbox Code Playgroud)
并输出它我正在使用
public void displayModules()
{
for (int i = 0; i < moduleArray.length; i++)
{
System.out.println(moduleArray[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
然而它正在输出
Module @ 1f5e4ae5
Module @ 67871079
null
null