我用C++写了一个Linux守护进程。代码如下所示:
int main(int argc, char** argv)
{
daemon(1, 0); // Daemonize itself, retaining the current working directory and redirecting stdin, stdout and stderr to /dev/null.
// My program logic goes here
}
问题是,我的程序逻辑偶尔会抛出异常。如何捕获异常,以便知道哪里出了问题?
我知道对于普通的控制台应用程序,未捕获的异常将被转储到控制台。在
这段代码在Windows中工作正常,但在Linux中抛出一个java.text.ParseException:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", new Locale("es", "ES"));
df.setLenient(false);
Date date = df.parse("1901-01-01 00:00:00");
System.out.println(date);
Windows输出:
Tue Jan 01 00:00:00 CET
我需要可以在Visual和Mono下编译并在Linux或Windows上运行的代码。
我需要返回可用的可用空间,只需要返回到目录的路径。
在窗户上我会做一些类似于-
var file = new FileInfo(path);
var drive = new DriveInfo(file.Directory.Root.FullName);
return drive.AvailableFreeSpace;
然而,在Linux上,这似乎会引发一个参数异常。file.Directory.Root.FullName返回'/‘。DriveInfo抛出“驱动器名不存在”的参数异常
有什么想法吗?