メモの日々


2003年01月02日(木) 山梨学院大学往路優勝

[life] 宝くじ

昨日結果見忘れたので今日確認。惜しいのは何枚かあった。でも6桁一致するのも至難の技で更に組まで合うなんてありえないと思う。でも買うしかないのだ。

[soft] 家計簿

今年から家計簿をつけようと思っている。エクセルでやればいいやと考えていたけど家計簿ソフトなら三日坊主にならないような工夫があるのではと思いVectorなどを物色。色々ありすぎて困ったが、人気マークの付いていた「ファイナンシャルプランナーが作った家計簿」というのをダウンロードしてみた。ファイルサイズが14MBもありダウンロードに一時間程かかった。早くADSLにしたい。

[work] SurperbNet キャリアカフェ

家計簿ソフトを探しているときに巡り合った。よく分からんがお役立ちコラムにある税金や保険の話が参考になりそうでメモ。

[work] SOHO応援します

これも家計簿ソフトを探しているときに巡り合った。更新されてないしSOHOなんて最近聞かない気がするが見つけたのでメモ。


2005年01月02日(日)

  • 年が開けている。大晦日には大雪が降った。
  • 昨日は実家でスポーツマンNo.1決定戦観たり。優勝した池谷直樹はロンブー淳に似ている。

[dream] 先へ進めぬ夢

夢を見た。

ゲームセンターへ行くが知らないゲームばかり。仕方なくファイナルファイトタイプのゲームをした。地下室へ降りると巨大なドアがあり、それを破壊して先へ進む必要がある。昇竜拳コマンドなどで様々な必殺技を繰り出し、やっとのことでドアを破壊した。横50cm縦20cmくらいの長方形の穴が開いた。

この時点でおれはゲームの中に入っている。穴をくぐって先へ進まねばいけないが、顔を入れると頬骨がつっかえにっちもさっちもいかなくなってしまった。やっとのことで顔を引き抜いたが、穴はくぐれそうにない。どうしよう、おれってそんなに顔大きかったっけ?穴の向こう側に人が集まってくる。深田恭子もいて、心配してくれていた。そんな夢。

やること

  • プリンタ処分
  • リンク元のスリム化
  • ナンバーアナウンス解約
  • tDiaryバージョンアップ
  • FSWikiバージョンアップ
  • 2004年分決算

2023年01月02日(月)

[python] Pythonで例外のスタックトレース情報を得る

Pythonではtraceback.fromat_exc()などで例外のスタックトレースを得られるが、これで得られる文字列は冗長なので、その元データを得たいときがある。

スタックトレースを文字列ではなくデータとして得るには、traceback.extract_tb()を使うのがよさそうだ。

この関数はStackSummaryオブジェクトを返し、これはFrameSummaryの配列だ。FrameSummaryからは、filename, lineno, name, line, locals といった情報を得られる(ドキュメントには見当たらないがソースコードを見るとわかる)。

例外オブジェクトには__traceback__属性があるので、これをextract_tb()に渡せば例外のスタックトレースデータを得られる。

import traceback

def f():
    g()

def g():
    raise RuntimeError()

try:
    f()
except Exception as ex:
    for frame in traceback.extract_tb(ex.__traceback__):
        print(f"{frame.name} at {frame.filename}:{frame.lineno}")
<module> at /home/kenichi/work/python/stacktrace_sample.py:10
f at /home/kenichi/work/python/stacktrace_sample.py:4
g at /home/kenichi/work/python/stacktrace_sample.py:7