题目:
编写一个程序,要求用户输入手机号,手机号必须符合规范,编写一个手机号格式不符合规范的自定义异常,继承自ApplicationException,如果手机号不符合规范,则抛出这个异常。
手机号规范是:只能是11位数字,不能是其他字符;第一位必须是1,第二位必须是3或5
运行效果:
代码学习:
using System; using System.Collections.Generic; using System.Linq; using System.Text; //3、编写一个程序,要求用户输入手机号,手机号必须符合规范, //编写一个手机号格式不符合规范的自定义异常,继承自ApplicationException, //如果手机号不符合规范,则抛出这个异常。 //手机号规范是:只能是11位数字, //不能是其他字符;第一位必须是1,第二位必须是3或5 namespace ConsoleApplication1 { public class MyException : ApplicationException//自定义异常代码初始化 { public MyException(string message): base(message){ } } class Number//建立自定义异常抛出类,实现抛出效果 { private string number; private string Num { set { number = value; } get { return number; } } public void setInfo(string number) { if (number.Length != 11) { throw (new MyException("输入的手机号长度不是11位······")); } string num1 = number.Substring(0, 1); if (num1 != "1") { throw (new MyException("输入手机号的第一个数字不是1······")); } if (number.Substring(1, 1) != "3" || number.Substring(1, 1) != "5") { throw (new MyException("输入手机号的第二个数字不是3或5······")); } this.number = number; } } class Program { static void Main(string[] args) { Number num = new Number(); while(true){ string m; Console.Write("请输入11位电话号码(输入q则退出测试):"); try { m = Console.ReadLine(); if(m=="q"){ break; } num.setInfo(m);//自定义异常操作代码 } catch (Exception e) { Console.WriteLine("异常错误==>{0}", e.Message); } Console.WriteLine("-------------------------------------------"); } Console.WriteLine("测试结束············"); Console.Read(); } } }