Python
 Computer >> コンピューター >  >> プログラミング >> Python

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
  • ReferenceError
  • RuntimeError
    • NotImplementedError
    • RecursionError
  • StopIteration
  • StopAsyncIteration
  • SyntaxError
    • IndentationError
      • TabError
  • SystemError
  • TypeError
  • ValueError
    • UnicodeError
      • UnicodeDecodeError
      • UnicodeEncodeError
      • UnicodeTranslateError
  • 警告
    • 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

  1. PythonでNotImplementedError例外をキャッチする方法は?

    ユーザー定義の基本クラスは、NotImplementedErrorを発生させて、メソッドまたは動作をサブクラスで定義し、インターフェイスをシミュレートする必要があることを示すことができます。この例外はRuntimeErrorから派生しています。ユーザー定義の基本クラスでは、メソッドをオーバーライドするために派生クラスが必要な場合、抽象メソッドはこの例外を発生させる必要があります。 例 import sys try:    class Super(object):         @property     &nbs

  2. PythonでEnvironmentError例外をキャッチする方法は?

    EnvironmentErrorは、Pythonの外部(オペレーティングシステム、ファイルシステムなど)から発生するエラーの基本クラスです。 EnvironmentError Exceptionは、StandarErrorクラスのサブクラスです。これは、IOErrorおよびOSError例外の基本クラスです。 IOErrorやOSErrorなどのサブクラスエラーとは異なり、実際には発生しません。 IOErrorまたはOSErrorの例は、環境エラーの例でもあるはずです。 例 import sys try: f = open ( "JohnDoe.txt", 'r&