若自定义异常类--继承基类Exception
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{//Area
class Program
{
static void Main(string[] args)
{
try
{
var s = Console.ReadLine();
int a = Convert.ToInt32(s.Split(' ')[0]);
int b = Convert.ToInt32(s.Split(' ')[1]);
int c = 0;
//执行的语句
c = a / b;
}
catch(DivideByZeroException dividebyzeroexception)
{
Console.WriteLine(dividebyzeroexception.Message);
//捕获多个异常,可以有多个catch--exception
}
finally
{
Console.WriteLine("finally");
//最终总会执行这句话。
}
}
}
}
重新输入:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
bool flag = true;
do
{
try
{
var s = Console.ReadLine();
int a = Convert.ToInt32(s.Split(' ')[0]);
int b = Convert.ToInt32(s.Split(' ')[1]);
int c = 0;
//执行的语句
c = a / b;
flag=false;
Console.WriteLine("c={0}",c);
}
catch(DivideByZeroException dividebyzeroexception)
{
Console.WriteLine(dividebyzeroexception.Message);
Console.WriteLine("Try Again!");
//捕获多个异常,可以有多个catch--exception
}
catch(FormatException formatexception)
{
Console.WriteLine(formatexception.Message);
Console.WriteLine("Try Again!");
}
}while(flag);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
bool flag = true;
do
{
try
{
var s = Console.ReadLine();
int a = Convert.ToInt32(s.Split(' ')[0]);
int b = Convert.ToInt32(s.Split(' ')[1]);
int c = 0;
//执行的语句
c = a / b;
flag=false;
Console.WriteLine("c={0}",c);
}
catch(DivideByZeroException dividebyzeroexception)
{
Console.WriteLine(dividebyzeroexception.Message);
Console.WriteLine("Try Again!");
//捕获多个异常,可以有多个catch--exception
}
catch(FormatException formatexception)
{
Console.WriteLine(formatexception.Message);
Console.WriteLine("Try Again!");
}
catch (IndexOutOfRangeException indexoutrangeexception)
{
Console.WriteLine(indexoutrangeexception.Message);
Console.WriteLine("Try Again!");
}
}while(flag);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{//throw和finally
static void Main(string[] args)
{
try
{
FFF f = new FFF();
f.Age = -7;
}
catch (MyException e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.WriteLine("finally@");
}
}
}
public class FFF
{
private int age;
public int Age
{
get
{
return age;
}
set
{
if(value>0)
age = value;
else
{
throw (new MyException("error!"));
}
}
}
}
public class MyException : Exception
{
public MyException():base("Age should be over zero!")
{
}
public MyException(string message)
: base(message)
{
}
public MyException(string message,Exception e)
: base(message,e)
{
}
}
}