c#抛出异常的描述信息,怎么改动?

如下,用checkd关键字检测数据是否溢出。遇到溢出时,就会跳到catch里执行Console.WriteLine(ex.Message);这是描述异常的信息。我想自定义... 如下,用checkd关键字检测数据是否溢出。
遇到溢出时,就会跳到catch里执行Console.WriteLine(ex.Message);这是描述异常的信息。
我想自定义这个描述,怎么弄啊。
我写 throw new Exception("这是国军的失误!");会报错
ex.Message又是只读的。怎么搞?
try
{
byte b1 = 109, b2 = 200;
checked
{
byte sum=(byte)(b1+b2);
}
}

catch (Exception ex)
{
Console.WriteLine(ex.Message);
// throw new Exception("这是国军的失误!");
}
展开
 我来答
xiangjuan314
推荐于2018-05-15 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2878万
展开全部
throw 用来抛出异常,可自己编写代码,抛出所需要的异常。
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CheckedAndUnchecked
{
class Program
{
static void Main(string[] args)
{
int month;
string b;
Console.WriteLine("请输入月份的值:");
b = Console.ReadLine();
month = int.Parse(b);
switch (month)
{
case 1:
Console.WriteLine("January");
break;
case 2:
Console.WriteLine("Feburary");
break;
case 3:
Console.WriteLine("March");
break;
case 4:
Console.WriteLine("April");
break;
case 5:
Console.WriteLine("May");
break;
case 6:
Console.WriteLine("June");
break;
case 7:
Console.WriteLine("July");
break;
case 8:
Console.WriteLine("August");
break;
case 9:
Console.WriteLine("September");
break;
case 10:
Console.WriteLine("October");
break;
case 11:
Console.WriteLine("Novemer");
break;
case 12:
Console.WriteLine("December");
break;
default:
throw new ArgumentOutOfRangeException("不存在的月份"); // throw
}
}
}
}
gy93108083
2014-11-10 · TA获得超过283个赞
知道小有建树答主
回答量:665
采纳率:50%
帮助的人:274万
展开全部
报错是因为你在catch里抛出了异常,但在外层又没有适当的处理。如果想要自定义异常信息
throw new Exception("这是国军的失误!"); 是可以的,但加上外层处理就可以了
追问
怎么处理?
追答
你的try catch  所在的方法会抛出异常,所以你需要在它的外层调用方法中再用 try cath 捕捉
try
{
异常抛出方法
}catch(Exception e)
{
MessageBox.show(e.Message);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nj30798926888
2014-11-10 · TA获得超过682个赞
知道小有建树答主
回答量:1015
采纳率:20%
帮助的人:337万
展开全部
throw new Exception("这是国军的失误!");不应该用在catch里,catch是捕获到了异常,然后进行处理,而不是往外抛异常。
更多追问追答
追问
那我怎么让catch捕捉到的异常信息是:throw new Exception("这是国军的失误!");

追答
捕获的其实就是checked的异常,所以你可以自定义一个类型与checed的类或者写一个方法,在方法里面抛这个异常throw new Exception("这是国军的失误!");然后catch就可以捕获
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式