パイソン(例外処理)

例外処理

1.例外処理アクションは次のとおりです。
  • 私はプログラムを終了する必要はありません
  • 何かがうまくいかない場合は、プログラムの安定性と堅牢性を確保するために特別な処理を必要とし

2.キャプチャ例外はtry / except文を使用することができます

  • 文のキャプチャと処理を除いて異常情報となるよう文は、tryブロック内のエラーを検出するために使用されることを除いて/してみてください。
  • あなたは例外が発生したときに、あなたのプログラムを終了したくない場合は、単純にそれをキャプチャしてみてください。

 3.構文1

  • 除いて...他に...してみてください...
  • 例外が発生していない場合は、else文が実行されます
  • tryブロックのエラーに異常がある場合、コードブロックを除いて実行されます。
  • あなたは、処理結果のプレースホルダを渡すことはできません
#のキャッチすべての例外
のtry 
    ... 
除い
    ... 
他に
    ... 

#のキャッチすべての例外2 
のtry 
    ... 
除いて例外、E:
     印刷E
 
    ... 

同時に例外の複数のキャプチャ異なる例外を作るために、同時処理、同じ反応
試して
    コードセグメント1 
以外(エラータイプ1、タイプ2エラー、エラータイプ3、...):
    コード・セグメント2 

    ... 

同時に複数の捕捉例外、同時処理、異なる例外に異なる反応を
試して
    コード・セグメント1を
除いて(エラータイプ1):
    コード・セグメント2 
を除く(エラータイプ2):
    コードセグメント3。
除いて(...):
    ... 
他に
    ...

 例:

#は例外タイプを指定します
試して
    FH =オープン(D:\\テストファイルR プリントfh.read()
 を除く例外IOError:
     印刷 :エラーが見つからないファイルまたはファイルを読み込みに失敗しました
印刷 " コンテンツの書き込みをファイルの成功
    fh.close() 

異常な例外が取得した
試して。1/ 0
 を除く例外、E:
     印刷E
 印刷 OK 

例外のいずれかのタイプを使用しないことを除い
試み。1/ 0
 を除く印刷 エラー
印刷 OK 

 4.構文2

  • 最後に...除いて...してみてください...
  • 例外は捕獲最終的に実行されるかどうかは、
トライ
    コード・セグメント1 
以外(エラータイプ1、タイプ2エラー、エラータイプ3、...):
    コード・セグメント2 
最終的に
    コードセグメント3

スローイニシアチブ

構文:

  • エラーの種類を上げる - 例外を直接スローされたときにプログラムの実行を高めるために
  • 注:エラーの種類はクラスでなければならず、このクラスはExceptionのサブクラスであります
#1 入力の年齢は、入力された年齢の範囲0〜100でない場合、プログラムがクラッシュする 
年齢= INT(INPUT(' 年齢:' ))
 IF年齢> 100 年齢< :0
     昇給とValueError

 次のように標準的な異常6.python

BaseException すべての例外の基底クラス
SystemExitを 通訳終了要求
KeyboardInterrupt (通常は^ Cを入力してください)実行割り込みユーザー
例外 一般エラーの基本クラス
呼び出すとStopIteration これ以上の値をイテレータありません
GeneratorExit (発電機)が発生出口例外発生を通知します
StandardError すべての標準の例外建て基底クラス
ArithmeticError すべての数値誤差基底クラス
FloatingPointError 浮動小数点計算エラー
OverflowErrorを 最大限界値計算を超え
ZeroDivisionError ゼロ(すべてのデータ型)の(又は弾性率)に加え
AssertionErrorが アサーションが失敗
AttributeError オブジェクトは、このプロパティを持っていません
例外EOFError 内蔵のいかなる入力、EOFマーカーに到達しないように
EnvironmentError OSエラーの基本クラス
例外IOError 入力/出力操作が失敗します
OSErrorの オペレーティングシステムエラー
WindowsError システムコールは失敗します
ImportError インポートモジュール/オブジェクト失敗
LookupErrorが 無効なクラス・データベースクエリ
IndexError このシーケンスインデックス(指数)なし
KeyError例外 このキーマッピングなし
MemoryError メモリオーバーフローエラー(Pythonインタプリタのために致命的ではありません)
NameError 宣言されていない/(無属性)オブジェクトを初期化していません
UnboundLocalError ローカルアクセス初期化されていない変数
ReferenceError 弱参照オブジェクト(弱参照)のガベージコレクションにアクセスしようとしています
ランタイムエラー 一般的なランタイムエラー
NotImplementedError この方法は、実装されていません
構文エラー Pythonの構文エラー
IndentationError インデントエラー
TabError タブとスペースのミックス
システムエラー 一般通訳システムエラー
例外TypeError 操作の型が無効です
ValueError 無効なパラメータが渡されました
UnicodeError ユニコード関連のエラー
UnicodeDecodeError Unicode 解码时的错误
UnicodeEncodeError Unicode 编码时错误
UnicodeTranslateError Unicode 转换时错误
Warning 警告的基类
DeprecationWarning 关于被弃用的特征的警告
FutureWarning 关于构造将来语义会有改变的警告
OverflowWarning 旧的关于自动提升为长整型(long)的警告
PendingDeprecationWarning 关于特性将会被废弃的警告
RuntimeWarning 可疑的运行时行为(runtime behavior)的警告
SyntaxWarning 可疑的语法的警告
UserWarning 用户代码生成的警告

おすすめ

転載: www.cnblogs.com/Mr-ZY/p/11754335.html