Python例外基本クラス
他の高級言語と同様に、Pythonにもいくつかの例外があります。問題が発生すると、例外が発生します。 ZeroDivisionError、AssertionErrorなどのさまざまな種類の例外があります など。すべての例外クラスはBaseExceptionクラスから派生しています。
コードは組み込みの例外を実行することも、コードでこれらの例外を発生させることもできます。ユーザーは、例外から独自の例外を派生させることができます クラス、または例外の他の子クラスから クラス。
BaseExceptionは、他のすべての例外の基本クラスです。ユーザー定義クラスをこのクラスから直接派生させることはできません。ユーザー定義クラスを派生させるには、Exceptionクラスを使用する必要があります。
Pythonの例外階層は次のようになります。
- BaseException
- 例外
- ArithmeticError
- FloatingPointError
- オーバーフローエラー
- ZeroDivisionError
- AssertionError
- AttributeError
- BufferError
- EOFError
- ImportError
- ModuleNotFoundError
- LookupError
- IndexError
- KeyError
- MemoryError
- NameError
- UnboundLocalError
- OSError
- BlockingIOError
- ChildProcessError
- ConnectionError
- BrokenPipeError
- ConnectionAbortedError
- ConnectionRefusedError
- ConnectionResetError
- FileExistsError
- FileNotFoundError
- InterruptedError
- IsADirectoryError
- NotADirectoryError
- PermissionError
- ProcessLookupError
- TimeoutError
- ArithmeticError
- ReferenceError
- RuntimeError
- NotImplementedError
- RecursionError
- StopIteration
- StopAsyncIteration
- SyntaxError
- IndentationError
- TabError
- IndentationError
- SystemError
- TypeError
- ValueError
- UnicodeError
- UnicodeDecodeError
- UnicodeEncodeError
- UnicodeTranslateError
- UnicodeError
- 警告
- BytesWarning
- 非推奨警告
- FutureWarning
- ImportWarning
- PendingDeprecationWarning
- ResourceWarning
- RuntimeWarning
- SyntaxWarning
- UnixcodeWarning
- UserWarning
- GeneratorExit
- KeyboardInterrupt
- SystemExit
問題 −この問題には、あるクラスの従業員がいます。条件は、従業員の年齢が18歳以上である必要があることです。
Exceptionクラスの子クラスである1つのユーザー定義の例外クラスを作成する必要があります。
サンプルコード
class LowAgeError(Exception): def __init__(self): pass def __str__(self): return 'The age must be greater than 18 years' class Employee: def __init__(self, name, age): self.name = name if age < 18: raise LowAgeError else: self.age = age def display(self): print('The name of the employee: ' + self.name + ', Age: ' + str(self.age) +' Years') try: e1 = Employee('Subhas', 25) e1.display() e2 = Employee('Anupam', 12) e1.display() except LowAgeError as e: print('Error Occurred: ' + str(e))
出力
The name of the employee: Subhas, Age: 25 Years Error OccurredThe age must be greater than 18 years
-
PythonでNotImplementedError例外をキャッチする方法は?
ユーザー定義の基本クラスは、NotImplementedErrorを発生させて、メソッドまたは動作をサブクラスで定義し、インターフェイスをシミュレートする必要があることを示すことができます。この例外はRuntimeErrorから派生しています。ユーザー定義の基本クラスでは、メソッドをオーバーライドするために派生クラスが必要な場合、抽象メソッドはこの例外を発生させる必要があります。 例 import sys try: class Super(object): @property &nbs
-
PythonでEnvironmentError例外をキャッチする方法は?
EnvironmentErrorは、Pythonの外部(オペレーティングシステム、ファイルシステムなど)から発生するエラーの基本クラスです。 EnvironmentError Exceptionは、StandarErrorクラスのサブクラスです。これは、IOErrorおよびOSError例外の基本クラスです。 IOErrorやOSErrorなどのサブクラスエラーとは異なり、実際には発生しません。 IOErrorまたはOSErrorの例は、環境エラーの例でもあるはずです。 例 import sys try: f = open ( "JohnDoe.txt", 'r&