我有两个使用 Processing.org 语言编写的应用程序。它们非常基本,可以定期拨打互联网电话并显示数据。
有时,这些程序运行一段时间后,会因为未知原因而崩溃。此时真正的问题是应用程序不会以任何方式发出崩溃信号。屏幕就在那里,就好像它在等待下一位数据——这通常可能是几分钟,所以屏幕是空白的似乎并不奇怪。
有没有办法让 Processing.org 应用程序在发生任何致命错误时关闭或显示错误消息?
谢谢你。
我有两个使用 Processing.org 语言编写的应用程序。它们非常基本,可以定期拨打互联网电话并显示数据。
有时,这些程序运行一段时间后,会因为未知原因而崩溃。此时真正的问题是应用程序不会以任何方式发出崩溃信号。屏幕就在那里,就好像它在等待下一位数据——这通常可能是几分钟,所以屏幕是空白的似乎并不奇怪。
有没有办法让 Processing.org 应用程序在发生任何致命错误时关闭或显示错误消息?
谢谢你。
处理程序是 Java 程序。正如乔治在他的评论中提到的那样,从这个问题中无法判断出什么可能会引发导致程序崩溃的异常。
但是,如果异常是从主程序循环(Processing 的 draw() 函数)中生成的,则可以将其包装在 try-catch 块中并以可见的方式处理异常,例如:
void draw () {
try {
// your code here...
} catch (Exception e) {
// display the Exception message on-screen
}
}
您可能还需要设置一个标志,告诉程序仅将该异常消息绘制到屏幕上,而不继续运行有问题的代码。
由于异常可能是从程序中除 draw() 循环之外的某个位置抛出的,因此您不一定会在此处捕获它。那么,最好的办法是查看日志。如果您在 OSX 上,请尝试 Console.app(在 /Applications/Utilities 中)以查看您的程序是否向 stderr 吐出任何内容。我不知道 Windows 等价物,但应该在某处有日志。
简而言之,“乔治所说的”。但希望这个答案能以一种有用的方式详细说明这一点。