我使用 SmartIrc4Net 在 C# 中编写了一个 IRC 机器人,该机器人的目的是在识别命令时提供信息。
我的问题是,代码中可能会发生异常,导致应用程序关闭,但是否可以保持应用程序运行并且没有任何“按任意键继续”消息出现。理想情况下,这应该只记录异常并继续。
我知道我可以首先管理异常,但是基于每个命令验证所有输入将需要很长时间。或者甚至可能还有其他我可能没有涵盖的例外情况。
static void Main(string[] args)
{
IrcClient bot = new IrcClient();
// attach events
try
{
// connect to server, login etc
// here we tell the IRC API to go into a receive mode, all events
// will be triggered by _this_ thread (main thread in this case)
// Listen() blocks by default, you can also use ListenOnce() if you
// need that does one IRC operation and then returns, so you need then
// an own loop
bot.Listen();
// disconnect when Listen() returns our IRC session is over
bot.Disconnect();
}
catch (ConnectionException e)
{
Console.WriteLine("Couldn't connect! Reason: " + e.Message);
Console.ReadLine();
}
catch (Exception e)
{
Console.WriteLine(">> Error: " + e);
}
}