是否有可能尝试 - 除了捕获所有仍然显示错误而不捕获每个可能的异常?我有一个案例,在每天24小时运行的脚本中,每隔几天就会发生一次异常.我不能让脚本死掉,但它们也没关系,因为只要我尝试除了一切,它都会重试.因此,当我追踪任何最后罕见的异常时,我想将它们记录到文件中以供将来调试.
例:
try:
print(555)
except:
print("type error: "+ str(the_error))
Run Code Online (Sandbox Code Playgroud)
the_error有没有什么方法可以替换堆栈跟踪或类似的东西?
Android列出了编码标准,但似乎没有考虑如何组织源(Activity等)文件.随着我的项目的增长,我想知道我应该如何分解类,或者我只是在src文件夹中留下一堆乱七八糟的文件.它似乎没有任何形式的符号(如匈牙利语),也不是一种记录某项活动或其他助手类的方法.这些类型的最佳实践是否有任何文档?
使用 GitPython 并且我只想在拉取后对本地文件进行更改时才调用函数。例如,如果我在单独的计算机上进行推送。然后拉上第一台计算机,它按预期工作,但不提供任何输出。理想的输出是更改的文件列表。或者只是告诉我拉动是否有错误,没有拉动因为分支是最新的或发生了变化的布尔值。我相信我可以刮掉 repo.git.status() 但它看起来很粗糙。环顾四周,我似乎还可以比较分支的变化,但似乎有很多额外的代码和远程调用。是否有仅使用 pull 调用的正确方法?
while True:
repo = git.Repo()
o = repo.remotes.origin
o.pull()
changed = NOT_SURE
if changed:
do_something()
print(repo.git.status())
time.sleep(POLLING_RATE)
Run Code Online (Sandbox Code Playgroud)
更新:这确实适用于检查是否进行了更改,但不会在没有额外远程调用的情况下更改文件
while True:
print(str(time.ctime())+": Checking for updates")
repo = git.Repo()
current_hash = repo.head.object.hexsha
o = repo.remotes.origin
o.pull()
pull_hash = repo.head.object.hexsha
if current_hash != pull_hash:
print("files have changed")
else:
print("no changes")
time.sleep(config.GIT_POLL_RATE)
Run Code Online (Sandbox Code Playgroud) 设备是Xoom平板电脑.出于某种原因,我无法做一个HttpPost,当我尝试时我无法捕获错误.我尝试了一堆基本的例子,它们都以同样的方式崩溃了(参见堆栈跟踪).如果我错过了许可,我会附上我的清单.我知道这发生在client.execute(post);声明中.错误没有被捕获,我得到的就是你在下面的堆栈跟踪中看到的.我已经尝试了一些不同的方法,但我不能为我的生活告诉真正的错误是什么.帖子数据似乎并不重要,简单的HttpGet请求也会发生同样的事情.我究竟错过了什么?
阻止有问题
try {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://share1.iqperspective.com/test");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("avar", "test data"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
client.execute(post);
}catch (UnsupportedEncodingException e1) {
Log.v(TAG, "catch1");
}catch (ClientProtocolException e) {
Log.v(TAG, "catch2");
}catch (IOException e) {
Log.v(TAG, "catch3");
}
Run Code Online (Sandbox Code Playgroud)
Mainifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.quisenberry.iqperspective"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="11" />
<application android:icon="@drawable/img_icon" android:label="@string/app_name">
<activity android:name="IQPerspective" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission> …Run Code Online (Sandbox Code Playgroud) 似乎System.exit(0)和flash.system.System.exit(0)都抛出错误"[Fault] exception,information = SecurityError:Error#2018:System.exit仅在独立的Flash Player中可用."
我正在创建一个全屏应用程序,我只是想添加一个关闭所有窗口并退出的关闭按钮(我有一个通过NativeWindow打开的辅助窗口).吨和谷歌搜索什么都没有.让我想知道我是否遗漏了一些超级简单的东西,因为所有"无铬"应用都必须拥有它.
我四处寻找stage.NativeWindow,但关闭并没有退出整个应用程序.
*注意我在flashdevlop 4.0中使用纯as3进行构建和测试,没有flex.