Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当字体不受支持时,如何使异常处理程序避免挂起系统?_C#_Fonts - Fatal编程技术网

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块中。(如果我是对的话?)