検索

Javaの例外とエラー

Nov 14, 2019 am 11:24 AM
java

Java では、すべての例外に共通の祖先 Throwable (throwable) があります。 Throwable は、例外伝播メカニズムを使用して Java アプリケーションを通じて伝播できるコード内の問題の共通性を指定します。

Javaの例外とエラー

Throwable: Exception (例外) と Error (エラー) という 2 つの重要なサブクラスがあり、どちらも Java 例外処理の重要なサブクラスです。多数のサブカテゴリ。例外とエラーの違いは、例外はプログラム自体で処理できるのに対し、エラーは処理できないことです。 (推奨学習: java コース)

エラー (エラー): はプログラムで処理できないエラーで、実行時に重大な問題があることを示しています。アプリケーション。ほとんどのエラーは、コード作成者が実行したアクションとは何の関係もなく、コードの実行中の JVM (Java 仮想マシン) の問題を表します。

たとえば、Java 仮想マシン実行エラー (Virtual MachineError) では、操作の実行を継続するために必要なメモリ リソースが JVM になくなったときに、OutOfMemoryError が発生します。

これらの例外が発生すると、Java 仮想マシン (JVM) は通常、スレッドを終了することを選択します。これらのエラーは、Java 仮想マシン実行エラー (Virtual MachineError)、クラス定義エラー (NoClassDefFoundError) など、仮想マシン自体で障害が発生したこと、または仮想マシンがアプリケーションを実行しようとしたときに障害が発生したことを示します。

これらのエラーは、アプリケーション プログラムの制御および処理能力の範囲外にあるためチェックできません。また、そのほとんどはプログラムの実行中に発生することが許されない状況です。適切に設計されたアプリケーションの場合、たとえエラーが発生したとしても、それが引き起こした例外状態を処理しようとする必要はありません。 Java では、エラーは Error のサブクラスを通じて記述されます。

例外: は、プログラム自体が処理できる例外です。 Exception クラスには、RuntimeException という重要なサブクラスがあります。 RuntimeException クラスとそのサブクラスは、「一般的な JVM 操作」によって引き起こされるエラーを表します。

たとえば、null オブジェクト参照を使用しようとした場合、ゼロで除算した場合、または配列が範囲外の場合は、実行時例外 (NullPointerException、ArithmeticException) および ArrayIndexOutOfBoundException がそれぞれスローされます。

Exception (例外) は、実行時例外と非実行時例外 (コンパイル例外) の 2 つのカテゴリに分類されます。プログラムはこれらの例外を可能な限り処理する必要があります。

ランタイム例外: は、NullPointerException (ヌル ポインター例外)、IndexOutOfBoundsException (添字範囲外例外) など、RuntimeException クラスとそのサブクラスのすべての例外です。これらの例外チェックされていない例外は、プログラム内でキャプチャして処理するかどうかを選択できます。

これらの例外は通常、プログラムのロジック エラーによって発生するため、プログラムは論理的な観点からこのような例外の発生を回避するように努める必要があります。実行時例外の特徴は、Java コンパイラがそれをチェックしないことです。つまり、このタイプの例外がプログラム内で発生する可能性がある場合、たとえそれが try-catch ステートメントでキャッチされなかったり、 throws 節を使用すると、コンパイルされて渡されます。

非実行時例外 (コンパイル例外): は RuntimeException 以外の例外であり、すべての型は Exception クラスとそのサブクラスに属します。

プログラムの文法上、必ず処理しなければならない例外であり、処理しないとプログラムはコンパイルされません。 IOException、SQLException など、およびユーザー定義の例外 通常、カスタムのチェック例外は必要ありません。

以上がJavaの例外とエラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境