C#学习7:程序中的异常和错误处理
使用try,catch语句处理异常
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace cam
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
int num1 = int.Parse(txtNum1.Text);
int num2 = int.Parse(txtNum2.Text);
int result = num1 + num2;
txtResult.Text = result.ToString();
}
catch (FormatException cam) //格式错误
{
MessageBox.Show(cam.Message);
}
catch (OverflowException cam) //数据溢出
{
MessageBox.Show(cam.Message);
}
catch (Exception cam)
{
MessageBox.Show(cam.Message);
}
}
}
}
用checked和unchecked检查整型算术运算是否溢出
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace com
{
class Program
{
static void Main(string[] args)
{
int number = int.MaxValue;
Console.WriteLine(number);
try
{
checked
{
number++;
}
}
catch (Exception cam)
{
Console.WriteLine(cam.Message);
}
Console.WriteLine(number);
}
}
}
try,catch,finally是很常用的语法结构,用来控制可能发生异常时的程序流程,其中catch和finally至少要有一个,如果在try块中有return,finally仍会执行
[csharp]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace com
{
class Program
{
static void Main(string[] args)
{
int number = int.Parse(Console.ReadLine());
try
{
string name = dayName(number);
Console.WriteLine(name);
}
catch (ArgumentOutOfRangeException ex)
{
Console.WriteLine(ex.Message);
}
finally
{
Console.WriteLine("程序结束");
}
}
static string dayName(int number)
{
switch (number)
{
&nb
补充:软件开发 , C# ,