Python異常処理問題の把握方法
Python異常処理という知識を十分に身につけるには、Python言語の構造、文、変数、関数、前処理命令、入力と出力などの内容を理解して把握することで、Python異常処理の問題を軽く解決することができます.
Python異常処理について説明します.必要なモジュールをインポートした後、animal.pyはconnect()呼び出しを使用してサーバへの接続を確立します.スクリプトは、障害の原因を表示するなど、接続障害を処理するために例外をキャプチャする必要があります.Python言語では、例外を処理するためにtry文にコードを配置し、エラー処理コードを含むexcept句を含む必要があります.生成された接続のコードは次のとおりです.
Except句中の異常類MySQLdb.ErrorはMySQLdbが提供できる特定のデータベースエラー情報を取得するために用いられ,変数eはエラー情報を格納するために用いられる.異常が発生した場合、MySQLdbは関連情報をe.argsに格納します.これは、エラーコードとエラーを記述する文字列からなる二要素メタグループです.この例では、except句がこれらの値を印刷し、終了します.
データベースに関連する文は、類似のtry/except構造に格納してエラーを収集およびレポートできます.便宜上、後述の議論では例外処理コードは表示されません.次に、文を送信する方法について説明します.Animal.pyの次のコードは、カーソルオブジェクトを作成し、動物テーブルの設定と入力文を送信します.このコードには、エラーチェックが含まれていないことに注意してください.
Python例外処理はtry文を入れることができ、エラーが発生すると例外がトリガーされ、except句にキャプチャされて処理されることを覚えておいてください.しかし,コードの可読性を考慮すると,ここではコードのメイン部分のみを与えた.上の文は、◆動物表がすでに存在する場合は破棄する動作を完了します.◆動物表を作成します.◆テーブルにデータを挿入し、追加されたロー数をレポートします.
これらの文は、カーソルオブジェクトを呼び出すexecute()メソッドによって発行されます.最初の2つのexecute()文はデータを生成しませんが、3番目の文は挿入された行数を表す統計量を生成します.この統計値はカーソルのrowcountプロパティに格納されます.一部のデータベース・インタフェースでは、execution実行呼び出しの戻り値によってこの統計値が提供されますが、DB-APIではそうではありません.
この動物表はすでに作成されているので、選択命令を出して情報を検索することができます.前の文のように、SELECT文もexecute()メソッドを使用して発行します.ただし、DROPまたはINSERT文とは異なり、SELECT文は結果セットを生成します.つまり、execute()は文のみを発行しますが、結果セットは返されません.
fetchone()メソッドを使用して、1行のデータを返すたびに、またはfetchall()メソッドを使用して一度にすべてを完了することができます.アニマルでpyでは,この2つの方法が用いられている.次はfetchone()を使用して、1行ずつデータを取得する方法です.
zz http://developer.51cto.com/art/201002/184826.htm
Python異常処理について説明します.必要なモジュールをインポートした後、animal.pyはconnect()呼び出しを使用してサーバへの接続を確立します.スクリプトは、障害の原因を表示するなど、接続障害を処理するために例外をキャプチャする必要があります.Python言語では、例外を処理するためにtry文にコードを配置し、エラー処理コードを含むexcept句を含む必要があります.生成された接続のコードは次のとおりです.
- try:
-
- conn = MySQLdb.connect (host = "localhost",
-
- user = "testuser",
-
- passwd = "testpass",
-
- db = "test")
-
- except MySQLdb.Error, e:
-
- print "Error %d: %s" % (e.args[0], e.args[1])
-
- sys.exit (1)
Except句中の異常類MySQLdb.ErrorはMySQLdbが提供できる特定のデータベースエラー情報を取得するために用いられ,変数eはエラー情報を格納するために用いられる.異常が発生した場合、MySQLdbは関連情報をe.argsに格納します.これは、エラーコードとエラーを記述する文字列からなる二要素メタグループです.この例では、except句がこれらの値を印刷し、終了します.
データベースに関連する文は、類似のtry/except構造に格納してエラーを収集およびレポートできます.便宜上、後述の議論では例外処理コードは表示されません.次に、文を送信する方法について説明します.Animal.pyの次のコードは、カーソルオブジェクトを作成し、動物テーブルの設定と入力文を送信します.このコードには、エラーチェックが含まれていないことに注意してください.
- CREATE TABLE animal
-
- (
-
- name CHAR(40),
-
- category CHAR(40)
-
- ) PEAR DB 。 animal.py , #! UNIX :
- #!/usr/bin/python
-
- # animal.py -
-
- import sys
-
- conn = MySQLdb.connect (host = "localhost",
-
- user = "testuser",
-
- passwd = "testpass",
-
- db = "test")
-
- except MySQLdb.Error, e:
-
- print "Error %d: %s" % (e.args[0], e.args[1])
-
- sys.exit (1)Except MySQLdb.Error MySQLdb , e 。
- ,MySQLdb e.args—— 。 ,except , 。
- try/except ,
- , 。
- 。Animal.py , 。 :
- cursor = conn.cursor ()
-
- cursor.execute ("DROP TABLE IF EXISTS animal")
-
- cursor.execute ("""
-
- CREATE TABLE animal
-
- (
-
- name CHAR(40),
-
- category CHAR(40)
-
- )
-
- """)
-
- cursor.execute ("""
-
- INSERT INTO animal (name, category)
-
- VALUES
-
- ('snake', 'reptile'),
-
- ('frog', 'amphibian'),
-
- ('tuna', 'fish'),
-
- ('racoon', 'mammal')
-
- """)
-
- print "Number of rows inserted: %d" % cursor.rowcount
Python例外処理はtry文を入れることができ、エラーが発生すると例外がトリガーされ、except句にキャプチャされて処理されることを覚えておいてください.しかし,コードの可読性を考慮すると,ここではコードのメイン部分のみを与えた.上の文は、◆動物表がすでに存在する場合は破棄する動作を完了します.◆動物表を作成します.◆テーブルにデータを挿入し、追加されたロー数をレポートします.
これらの文は、カーソルオブジェクトを呼び出すexecute()メソッドによって発行されます.最初の2つのexecute()文はデータを生成しませんが、3番目の文は挿入された行数を表す統計量を生成します.この統計値はカーソルのrowcountプロパティに格納されます.一部のデータベース・インタフェースでは、execution実行呼び出しの戻り値によってこの統計値が提供されますが、DB-APIではそうではありません.
この動物表はすでに作成されているので、選択命令を出して情報を検索することができます.前の文のように、SELECT文もexecute()メソッドを使用して発行します.ただし、DROPまたはINSERT文とは異なり、SELECT文は結果セットを生成します.つまり、execute()は文のみを発行しますが、結果セットは返されません.
fetchone()メソッドを使用して、1行のデータを返すたびに、またはfetchall()メソッドを使用して一度にすべてを完了することができます.アニマルでpyでは,この2つの方法が用いられている.次はfetchone()を使用して、1行ずつデータを取得する方法です.
zz http://developer.51cto.com/art/201002/184826.htm