C# 当字体不受支持时,如何使异常处理程序避免挂起系统?
我编写了这段代码,从列表中选择一种字体,并用这种字体创建一个字符。但是对于某些字体,我得到以下错误C# 当字体不受支持时,如何使异常处理程序避免挂起系统?,c#,fonts,C#,Fonts,我编写了这段代码,从列表中选择一种字体,并用这种字体创建一个字符。但是对于某些字体,我得到以下错误 "Font 'Magneto' does not support style 'Regular'." 是否有人知道如何添加异常来处理此错误,例如跳到下一种字体或向我显示一个错误弹出窗口,我们可以选择其他字体 Font myFont = new Font(comboBox1.SelectedItem.ToString(), 60); 你试过了吗 try { //your code }
"Font 'Magneto' does not support style 'Regular'."
是否有人知道如何添加异常来处理此错误,例如跳到下一种字体或向我显示一个错误弹出窗口,我们可以选择其他字体
Font myFont = new Font(comboBox1.SelectedItem.ToString(), 60);
你试过了吗
try
{
//your code
}
catch (Exception)
{
//do something else
}
这样,当运行一段代码时发生异常时,应用程序不会崩溃,而是执行其他操作,如提醒用户或设置默认字体
更新
void SetFont(Font font)
{
//the relevant code
}
try
{
//other stuff
SetFont(font);
}
catch (Exception)
{
SetFont(anotherFont);
}
这就是我认为你能做到的。我真的不明白不能在try块之外调用方法是什么意思。如果这样做没有帮助,请显示代码的外观。我需要只放置(异常)还是特定异常?简单地放置异常将捕获所有异常。如果有一些特定的异常,您希望首先为捕获它们执行不同的操作。您知道我是否可以在“catch”中放入一些内容,返回“try”并使用新的给定值运行它,而不是在“catch”中再次复制整个代码部分?您可以将try块放在对方法的调用周围,然后在catch中使用不同的值再次调用它。是的,但是我在try块中声明的方法不能从try的外部调用。所以我必须把整个代码放在try块中。(如果我是对的话?)