読者です 読者をやめる 読者になる 読者になる

Pylonsのトレースバックは凄い!

Pylons

 PylonsのTracebackは凄いです。例外発生時のスタックフレームに対して、ブラウザ経由!で対話的にデバッグを行うことができます。DjangoのTracebackも親切だと思いましたが、Pylonsには及びません。


 実例を紹介します。RSSフィードを返すアクションの実装中、当てずっぽうで書いたので、案の定、例外が発生しました。


 例外の発生箇所のツリーを開いて、該当フレームの情報を確認します。


 feed.writeというメソッドの使い方がよく分からないので、おもむろに、help(feed.write)を実行します。


 ヘルプが表示されました。引数encodingを指定していなかったから例外が発生したということが分かります。


 元のコードを修正する前に、対話的シェルから、encodingを指定してfeed.writeを呼んで、出力結果を確認してみます。繰り返しますが、下の操作はブラウザから、対話的に行っています。


 意図した通り、RSSが出力されそうです。


 「Pythonだからこれくらいは可能」ということが分かっていても、実際に目の当たりにすると、やっぱり驚きますね。IDEなしで、ブラウザとエディタだけで、ここまでできてしまうのは凄いです。
 ここ数日、さんざんPylonsで遊んでいながら、フレームワークとしての理念や完成度には多少疑問を持っていたいのですが、かなり見直しました。