Cでのエラー処理
エラーが発生した場合は-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
-
0x0000c1f5 エラー修正
0x0000c1f5 ブルー スクリーン エラー これは、Vista ベースの PC を起動したときに表示され、ハードウェアのドライバーとの競合が原因です。エラーが発生している場合は、この記事で説明されている手順を使用して、システムで発生する可能性のあるエラーを解決できるはずです。 0x0000c1f5 ブルー スクリーン エラーの原因 0x0000c1f5 エラーは、ファイルが破損している場合に Common Log File System (Clfs.sys) ドライバーが $TxfLog ファイルを修正しないために発生します。 Stop エラー メッセージに加えて、Windows
-
MULTIPLE_IRP_COMPLETE_REQUESTS エラーを修正
MULTIPLE_IRP_COMPLETE_REQUESTS エラーを修正: バグ チェック値が 0x00000044 の Multiple_IRP_Complete_Requests とブルー スクリーン オブ デスに直面している場合、これは、ドライバーが既に完了している IRP (I/O 要求パケット) の完了を要求しようとしたことを示しているため、競合が発生し、したがって、エラーメッセージ。したがって、基本的にはドライバーの問題であり、ドライバーが自身のパケットを 2 回完了しようとします。 主な問題は、2 つの別々のデバイス ドライバーが、両方がパケットを所有していると信じてパッケージ