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

Cでのエラー処理


エラー処理はC言語ではサポートされていません。エラー処理をC言語で実行できる方法は他にもいくつかあります。ヘッダーファイル「error.h」は、returnステートメント関数を使用してエラーを出力するために使用されます。

エラーが発生した場合は-1またはNULLを返し、エラーコードでerrno変数が設定されます。関数がC言語で呼び出されるときはいつでも、errno変数がそれに関連付けられます。 errnoはグローバル変数であり、実行中のエラーのタイプを見つけるために使用されます。

次の表にいくつかのエラーを示します-

エラーとエラー値
Sr.No
1 I/Oエラー
5
2 そのようなファイルやディレクトリはありません
2
3 引数リストが長すぎます
7
4 メモリ不足
12
5 許可が拒否されました
13

C言語でエラーを処理する方法がいくつかあります-

  • perror() −この関数はエラーを出力するために使用され、現在のerrno値のテキスト表現とともに文字列を返します。

  • strerror() −この関数は、「string.h」ヘッダーファイルで宣言されており、現在のerrno値の文字列へのポインタを返します。

  • 終了ステータス −関数exit()で使用できる2つの定数EXIT_SUCCESSとEXIT_FAILUREがあり、呼び出し元の関数にエラーについて通知します。

  • ゼロ除算 −これは、C言語でこのエラーを処理するために何もできない状況です。このエラーを回避すると、プログラムで「if」条件を使用して除数の値を確認できます。

これがC言語でのエラー処理の例です

#include <stdio.h>
#include <stdlib.h>

main() {
   int x = 28;
   int y = 8;
   int z;

   if( y == 0) {
      fprintf(stderr, "Division by zero!\n");
      exit(EXIT_FAILURE);
   }
   z = x / y;
   fprintf(stderr, "Value of z : %d\n", z );
   exit(EXIT_SUCCESS);
}

出力

これが出力です

Value of z : 3

  1. 0x0000c1f5 エラー修正

    0x0000c1f5 ブルー スクリーン エラー これは、Vista ベースの PC を起動したときに表示され、ハードウェアのドライバーとの競合が原因です。エラーが発生している場合は、この記事で説明されている手順を使用して、システムで発生する可能性のあるエラーを解決できるはずです。 0x0000c1f5 ブルー スクリーン エラーの原因 0x0000c1f5 エラーは、ファイルが破損している場合に Common Log File System (Clfs.sys) ドライバーが $TxfLog ファイルを修正しないために発生します。 Stop エラー メッセージに加えて、Windows

  2. MULTIPLE_IRP_COMPLETE_REQUESTS エラーを修正

    MULTIPLE_IRP_COMPLETE_REQUESTS エラーを修正: バグ チェック値が 0x00000044 の Multiple_IRP_Complete_Requests とブルー スクリーン オブ デスに直面している場合、これは、ドライバーが既に完了している IRP (I/O 要求パケット) の完了を要求しようとしたことを示しているため、競合が発生し、したがって、エラーメッセージ。したがって、基本的にはドライバーの問題であり、ドライバーが自身のパケットを 2 回完了しようとします。 主な問題は、2 つの別々のデバイス ドライバーが、両方がパケットを所有していると信じてパッケージ