所以我知道我可以使用int[] frames = {R.drawable.frame1, R.drawable.frame2, R.drawable.frame3};
AnimationDrawable drawable = new AnimationDrawable();
for (int fr : frames) {
Bitmap sample = BitmapFactory.decodeResource(mActivity.getResources(), fr);
sample = Bitmap.createScaledBitmap(sample, sample.getWidth()/4, sample.getHeight()/4, false);
drawable.addFrame(new BitmapDrawable(mActivity.getResources(), sample), 30);
}
使Python可执行。
但是,每次引发错误时,它都会立即结束程序,所以我找不到错误。
我知道我可能会使用pyinstaller
来阻止它。
但如果代码在遇到time.sleep(30000)
之前引发错误,它就会关闭。
总结一下,如何让它不停地关闭,所以我可以看出错误在哪里?
答案 0 :(得分:1)
如果您只是通过双击运行可执行文件,请尝试从控制台运行它。对于例如在Windows中:
在cmd中,运行
cd executable_path
myexecutable.exe
更好的方法是引入记录器,以便其他实现了日志记录的模块可以写入文件。
此外,您可以将代码放在try-except块中:
try:
#my_code_here
print('Here is where the exception is')
except Exception as e:
print('Unexpected error:' + str(e))
答案 1 :(得分:1)
根据您的描述,听起来您正在运行控制台程序(即具有可见控制台窗口的程序)。
如果是这样,您有两种选择:
cd
进入包含程序的目录,然后输入程序名称运行它。当程序退出时(例如由于错误),将打印出回溯并返回到提示符。 您可以在整个程序中添加try
/ except
来捕获任何错误并报告错误。例如:
try:
main()
except Exception:
import traceback
traceback.print_exc()
raw_input("Program crashed; press Enter to exit")
答案 2 :(得分:1)
这是另一种方式,使用Python的异常挂钩:
import sys
def myexcepthook(type, value, traceback, oldhook=sys.excepthook):
oldhook(type, value, traceback)
raw_input("Press RETURN. ") # use input() in Python 3.x
sys.excepthook = myexcepthook
只要Python想要打印异常,就会调用异常钩子。在这种情况下,我们调用先前安装的异常挂钩(打印异常),然后等待用户按Return键。
答案 3 :(得分:0)
不要只是双击文件,而是从命令行运行它。当程序结束时,程序自动创建的终端窗口也将自动关闭,但如果您自己打开终端并从命令行运行程序,它将无法触摸打开的终端,您可以读取错误
答案 4 :(得分:0)
你可以像Mars Lee所说的那样使用try except
,或者你可以做
print("Test 1");
经过一定数量的线条后。