קאָמפּיוטערספּראָגראַממינג

ז'אבא: אויסנעמען און זייער האַנדלינג

קיין פּראָגראַם וועט אַרבעטן סטאַבלי נאָר אויב דער מקור קאָד איז דעבוגגעד, און עס זענען ניט טנאָים אַז קענען אָנמאַכן ונפאָרעסעען סיטואַטיאָנס. דער פּראָצעס פון קאַטשינג מעגלעך פאַילורעס איז געטראגן אויס אויף די פּראָגראַממינג בינע. צו טאָן דאָס, די דעוועלאָפּער נעמט אין חשבון אַלע די געריכט אַוטקאַמז און Attempts צו באַגרענעצן די ווירקונג פון די טעות אַזוי אַז עס קען ניט אַרייַנמישנ זיך מיט די אָפּעראַציע פון די פּראָגראַם, אָדער פירן צו זייַן ייַנבראָך.

ווען איר זאל דאַרפֿן ויסנעם האַנדלינג

אין ז'אבא, אַ ויסנעם קענען ווערן געפֿירט דורך פאַלש באַניצער ינפּוט, ניט דאַרפֿן פֿאַר אַ מיטל אָדער פּלוצעמדיק נעץ דיסקאַנעקשאַן פּראָגראַם. פֿאַר באַקוועם נוצן Created by די אַפּלאַקיישאַן דעוועלאָפּער, איר מוזן קאָנטראָלירן די פּאַסירונג פון נויטפאַל סיטואַטיאָנס. די קאַנסומער זאָל ניט האָבן צו וואַרטן צו פאַרלאָזן אַ אַפּלאַקיישאַן, צו פאַרלירן דאַטן ווי אַ רעזולטאַט פון אַ ונהאַנדלעד ויסנעם, אָדער נאָר אַ טייל פֿון אַ אָנזאָג אויס סטייטינג אַז עפּעס זענען פאַלש.

האַנדלינג ז'אבא אויסנעמען

וואָס צו באַטראַכטן? די ז'אבא שפּראַך האט זייַן אייגן געבויט-אין ויסנעם האַנדלינג פונקטיאָנאַליטי. פון קורס, אַ גרויס פּראָצענט פון טעות איז קאַט דורך אן אנדער זאַמלונג בינע, די סיסטעם וועט אויטאָמאַטיש געבנ צו וויסן וואָס נוצן עס איז ניט מער מעגלעך. אבער עס איז דעם מין פון ויסנעם אַז אַקערז בייַ רונטימע. די דעוועלאָפּער זאָל קענען צו ריכטנ זיך עס און צו צייכענען דעם קאָד אַזוי אַז עס האט נישט גרונט אַ טעות, און כאַנדאַלד עס אין אַ ספּעציעל וועג און קאָלנער איבער קאָנטראָל צו אן אנדער צווייַג.

אין ז'אבא, דאָס איז ימפּאָוזד דורך די קאַמפּיילער צו כאַפּן אַ ויסנעם, אַזוי די טיפּיש פּראָבלעמס זענען באקאנט און האָבן אַ נאָרמאַל געניטונג פּאַטערנז.

טיפּיש עקסקלוסיאָנס

די סימפּלאַסט למשל, אין וואָס איר קענען באַקומען אַ ויסנעם - דעם אָפּטייל. טראָץ זייַן פּאַשטעס, אין טערמינען, ווי אַ דיווידער, קען זיין נול, וואָס וועט רעזולטאַט אין אַ טעות. נו, אויב עס איז מעגלעך צו פאָרויסזאָגן די ימערדזשאַנס פון די פאַרגאַנגענהייַט און פאַרמייַדן. אבער דעם אָפּציע איז ניט שטענדיק בנימצא, אַזוי קאַטשינג די ויסנעם זאָל זיין אָרגאַניזירט גלייַך אין די געשעעניש פון "טיילן דורך נול".

די ז'אבא מעקאַניזאַם צו ינערסעפּט פּראַסעסינג טעות קוקט ווי דעם:

  • קופּע ויסנעם כייפעץ איז געשאַפֿן געוואָרן, ווי ווויל ווי קיין אנדערע;
  • די נאַטירלעך לויף פון די פּראָגראַם איז ינטעראַפּטיד;
  • יקסקלוזשאַן מעקאַניזאַם איז טריינג צו געפינען אַן אנדער ברירה וועג צו פאָרזעצן די קאָד;
  • געפינען אַ זיכער דורכפירונג פון די פּראָגראַם אין די פּראַסעסער, אַרבעט אָדער געזונט, אָדער וועט פּאַסירן מעקייַעם פון ויסנעם אין אַ ספּעציעל וועג.

די סימפּלאַסט בייַשפּיל פון קריייטינג אַ טעות זאל קוקן ווי דעם:

אויב (אַ == נאַל)

וואַרפן נייַ נוללפּאָינטערעקססעפּטיאָן ();

דאָ, די בייַטעוודיק אַ איז אָפּגעשטעלט ביי יניטיאַליזאַטיאָן, דאס הייסט, איז נישט צי די דערמאָנען צו אַ נאַל כייפעץ. אויב דעם מעמד האט עריזאַן און דאַרפֿן ספּעציעל האַנדלינג, אַ ויסנעם איז טראָון דורך אַ וואַרפן נייַ נוללפּאָינטערעקססעפּטיאָן ().

ביסל דעטאַילס וועגן טערמינען

ווען דילינג מיט אויסנעמען איז אָפֿט נייטיק צו נוצן די קיווערד ז'אבא צו אָפּשיקן צו אַ באַזונדער קאַמף. דעם שפּראַך פון זייער פינף פּראָגראַממינג:

  • פּרובירן. דעם קיווערד איז שוין באגעגנט, און עס מיטל אַ יבערגאַנג אין אַ אָפּטיילונג פון קאָד וואס קענען וואַרפן אַ ויסנעם. בלאָק באגרענעצט ברייסאַז {}.
  • כאַפּן. עס ינערסעפּץ דעם געוואלט ויסנעם טיפּ און שעפּן עס אַפּראָופּרייטלי.
  • צום סוף. דעם קיווערד איז אַפּשאַנאַל און איז געניצט צו דורכפירן אַ זיכער שטיק פון קאָד, וואָס איז required סייַ ווי סייַ, אַפֿילו אויב ניט ויסנעם איז ניט קאַט. צוגעגעבן גלייַך נאָך פּרובירן בלאָק.
  • וואַרפן - לעץ איר מאַכן ז'אבא אויסנעמען פון ערגעץ.
  • טהראָווס - אַ קיווערד אַז איז געשטעלט אין דעם אופֿן כסימע. עס מיטל אַז די ווייַטערדיק קאָד קענען וואַרפן אַ ויסנעם פון דעם טיפּ ז'אבא. דעם צייכן באדינט ווי אַ סיגנאַל צו דעוועלאָפּערס וואס דאַרפֿן צו זיין דערטראגן אין מיינונג - דעם אופֿן קענען נישט אַרבעטן ווי דערוואַרט פון אים.

קאַטשינג מיט אַ פּרובירן

מעלדונג צו ז'אבא אויסנעמען, געוויינטלעך אַסומז אַז עס וועט זיין כאַנדאַלד אין אַ ספּעציעל וועג. די מערסט באַקוועם וועג צו טאָן עס, אויב די קאָד אָפּטיילונג איז פענסעד אַוועק אין אַ בלאָק. וואָס זאל אַנטהאַלטן אַ ויסנעם. ווען איר לויפן דעם קאָד, די ווירטואַל מאַשין וועט געפֿינען אַ אומגעריכט סיטואַציע, פֿאַרשטיין אַז עס איז אַ קריטיש בלאָק און טראַנספערס קאָנטראָל צו דער סטאַנציע מיט די פּראַסעסינג.

די ז'אבא קאָד איז אלנגעוויקלט אין אַ ספּעציעל בלאָק פּרובירן, ין וואָס זאל זיין אַ ויסנעם. אזוי, ער געשטעלט עטלעכע ונפאָרעסעען סיטואַטיאָנס וואָס וועט זייַן קאַט אין די זעלבע פּלאַץ, נישט ראַספּאָלזייַאַס קאָד.

די מערסט טיפּיש קאָד צו די פּראַסעסינג אַפּאַראַט איז ווי גייט:

פּרובירן {

// דאָ איז עטלעכע קאָד אַז קען דזשענערייט אַ ויסנעם

} כאַפּן (טיפּ_יסקליוטשענייאַ_1 ידענטיפיקאַטאָר_1) {

// דאָ עס איז ויסנעם האַנדלינג, לויט צו זייַן טיפּ און באדינגונגען;

} כאַפּן (טיפּ_יסקליוטשענייאַ_2 ידענטיפיקאַטאָר_2) {

// דאָ עס איז ויסנעם האַנדלינג, לויט צו זייַן טיפּ און באדינגונגען;

}

קייוואָרד כאַפּן מעלדעט אַז קאָד, און יבערקוקן עס פֿאַר אַ ויסנעם, צו ווערן באהאנדלט ווי דיסקרייבד אונטן, צוגעשטעלט אַז עס קאַמפּלייז מיט זייַן טיפּ. די identifier קענען ווערן געניצט אין פּראַסעסינג די קאָד בלאָק ווי טענות.

לעסאָף

ווי עס איז געווארן קלאָר פון די פֿריִערדיקע קאַפּיטל, כאַפּן בלאַקס כאַפּן אויסנעמען און פּראָצעס זיי. אבער זייער אָפֿט די סיטואַציע ערייזאַז ווו זאָל לויפן עטלעכע קאָד, ראַגאַרדלאַס פון צי זיי זענען קאַט מיסטייקס. פֿאַר דעם עס איז די קיווערד לעסאָף. עס איז געניצט צו פאַרגרעסערן די וואַלועס פון די פאַרשידן קאָונטערס, קלאָוזינג טעקעס אָדער נעץ קאַנעקשאַנז.

דעם פּלאַנעווען גיט עטלעכע כאַפּן בלאַקס ינווענטיד מעטהאָדס כאַפּן אויסנעמען. לעמאָשל, די קאָד קאַנטיינד אין די פּרובירן דזשענערייץ אַ אומגעריכט סיטואַציע אַזאַ ווי קאַלט. דערנאך, די קאַנסאָול וועט זיין געוויזן אויסדרוק «קאַט קאַלט!» און «איז אַז עפּעס צו דערפרייען וועגן?». אַז איז, די לעסאָף בלאָק איז עקסאַקיוטאַד אין קיין פאַל.

אין פאַקט, אַ וועג צו ויסמייַדן טריגערינג לעסאָף דאָרט. עס איז קאָננעקטעד מיט די קאַמפּלישאַן פון די ווירטואַל מאַשין. געפֿינען ווי צו ינסטרומענט עס, עס איז מעגלעך אויף די אינטערנעט עפענען ספּייסיז.

וואַרפן קיווערד

וואַרפן דזשענערייץ אַ ויסנעם. זייַן סינטאַקס איז ווי גייט:

וואַרפן נייַ נעוועקססעפּטיאָן ();

עס איז Created אַ נייַ ויסנעם צו דעם טיפּ נעוועקססעפּטיאָן (). ווי אַ טיפּ קענען ווערן געניצט איז שוין ינקלודעד אין די נאָרמאַל ז'אבא ביבליאָטעק קלאסן און ביז אַהער Defined דורך די דעוועלאָפּער פון זייַן אייגן פּראָדוקציע.

דעם פּלאַן איז אַ טייל פֿון דער באַשרייַבונג פון קיין מיטל, וואָס די רופן זאָל דעמאָלט פאַלן ין די פּרובירן בלאָק, אין סדר צו קענען צו ינערסעפּט עס.

קייוואָרד טראָוז

וואָס אויב אין דעם פּראָצעס פון אַנטוויקלונג פון אַ סיטואַציע ווו די אופֿן קענען וואַרפן אַ ויסנעם, אָבער זענען נישט ביכולת צו שעפּן רעכט. צו דעם סוף, אין דעם אופֿן כסימע ספּעסיפיעס די וואָרט טראָוז און טיפּ פון מעגלעך אויסנעמען.

דעם פירמע איז אַ מין פון גראדן פֿאַר קליענט דעוועלאָפּערס אַז די אופֿן איז ניט ביכולת צו שעפּן זייער זעלביקער ויסנעם. אין דערצו, אויב די טעות טיפּ איז אָפּגעשטעלט, דעמאָלט דער קאַמפּיילער וועט צווינגען בפֿירוש פרעגן פֿאַר עס.

פּרובירן צו רעסורסן

די ז'אבא ווערסיע 7 דעוועלאָפּערס האָבן ינקלודעד אַ הויפּט כידעש, ווי אַ באַהאַנדלונג פּרובירן בלאָק מיט רעסורסן.

פילע אַבדזשעקס זענען Created אין ז'אבא, נאָך נוצן זאָל זייַן פאַרמאַכן אַראָפּ צו קאַנסערוו רעסורסן. ביז אַהער עס האט צו נעמען דעם אין חשבון און האַלטן די ינסטאַנסיז מאַניואַלי. איצט, אָבער, זיי ארויס אַוטאָקלאָסאַבלע צובינד. עס העלפּס צו אויטאָמאַטיש נאָענט שוין געניצט אַבדזשעקס געשטעלט אין אַ פּרובירן בלאָק. דורך דעם צוגאַנג עס האט ווערן מער באַקוועם צו שרייַבן קאָד אין זייַן רידאַביליטי איז באטייטיק געוואקסן.

אייגן קלאסן ז'אבא אויסנעמען

די קריייטערז פון די דיסקרייבד פּראָגראַממינג שפּראַך גענומען אין חשבון פילע אַספּעקץ פון די פּלאַן טייפּס פון ימערדזשאַנסיז. אָבער, אַלע פון די אָפּציעס צו פאַרמייַדן די אַוטקאַם פון געשעענישן וועט נישט אַרבעטן, אַזוי אין ז'אבא ימפּלאַמענאַד די פיייקייַט צו דעפינירן זייער אייגן אויסנעמען, עס איז צונעמען צו די דאַרף פון די באַזונדער קאָד.

די סימפּלאַסט וועג צו מאַכן - צו ירשענען פון די מערסט צונעמען צו די כייפעץ קאָנטעקסט.

עס געשען צו ירשענען פון ויסנעם, די סאָרט אַז איז געניצט צו דעפינירן אייער אייגן אויסנעמען. אין מיעקססעפּטיאָן האט צוויי קאָנסטרוקטאָרס - אַ ניט ויסצאָלן, די צווייט - מיט דער אַרגומענט מסג טיפּ סטרינג.

דעמאָלט, אין דעם ציבור קלאַסצימער פוללקאָנסטרוקטאָרס ימפּלאַמענאַד אופֿן ף, וואָס כּולל די כסימע טראָוז מיעקססעפּטיאָן. דעם קיווערד מיטל אַז ו קענען וואַרפן ווי ז'אבא מיעקססעפּטיאָן ויסנעם. ווייַטער, אין דעם אופֿן גוף Produced טעקסט אינפֿאָרמאַציע רעזולטאַט צו די קאַנסאָול זיך און די פאַקטיש דור מיעקססעפּטיאָן, דורך וואַרפן.

די רגע אופֿן איז אַ ביסל אַנדערש פֿון דער ערשטער איינער אַז ווען איר מאַכן אַ ויסנעם, עס איז דורכגעגאנגען אַ שטריקל פּאַראַמעטער, וואָס וועט זיין רעפלעקטעד אין די קאַנסאָול ביי קאַטשינג. אין די הויפּט עס איז קלאָר אַז פֿ '() און ג () זענען געשטעלט אין אַ פּרובירן קאָנטראָלירונג און קיווערד כאַפּן קאָנפיגורעד צו כאַפּן מיעקססעפּטיאָן. דער רעזולטאַט פון פּראַסעסינג איז צו אַרויסווייַזן אַ טעות אָנזאָג צו די קאַנסאָול:

אזוי עס איז געווען צו לייגן ז'אבא אויסנעמען, דורך זיין אייגן האַנט.

אַרטשיטעקטורע אויסנעמען

ווי מיט אַלע אַבדזשעקס אין ז'אבא, אויסנעמען זענען אויך ינכעראַטיד און האָבן אַ כייראַרקאַקאַל סטרוקטור. דער שורש עלעמענט פון אַלע ערראָרס טראָון אין דעם פּראָגראַממינג שפּראַך איז קלאַס דזשאַוואַ.לאַנג.טהראָוואַבלע. ינכעראַטיד פון אים צוויי מינים - טעות און ויסנעם.

טעות - סיגנאַלז די קריטיש טעות און איז געצאַמט ז'אבא אויסנעמען. ינטערסעפּטיאָן און פּראַסעסינג אַזאַ דאַטן אין רובֿ קאַסעס אַקערז בייַ די צייכענען בינע און ניט אין נויט פון ינטראָודוסינג אין די לעצט אַפּלאַקיישאַן קאָד.

די מערסט קאַמאַנלי געוויינט קלאַס פֿאַר קריייטינג און אַנאַלייזינג די אויסנעמען איז ויסנעם. וואָס, אין דרייען, איז צעטיילט אין עטלעכע צווייגן, כולל רונטימעעקססעפּטיאָן. דורך רונטימעעקססעפּטיאָן זענען רונטימע אויסנעמען, אַז איז, געשעעניש בעשאַס די פּראָגראַם. אַלע קלאסן דערייווד פון עס זענען ונוועריפיאַבלע.

אָפֿט עס זענען אויסנעמען

אין ז'אבא אויסנעמען, די רשימה פון וואָס איז דערלאנגט אונטן, זענען געניצט רובֿ אָפט, אַזוי איר זאָל באַשרייַבן יעדער פון זיי אין דעטאַל:

  • אַריטהמעטיסעקססעפּטיאָן. די אַרייַננעמען ערראָרס פֿאַרבונדן מיט אַריטמעטיק אַפּעריישאַנז. די מערסט גלערינג משל - די אָפּטייל דורך נול.
  • אַררייַינדעקסאָוטאָפבאָונדסעקססעפּטיאָן - אַ אַפּעלירן צו די מענגע עלעמענט נומער אַז יקסידז די גאַנץ פון זייַן לענג.
  • אַררייַסטאָרעעקססעפּטיאָן - פּרווון צו באַשטימען אַ ינקאַמפּאַטאַבאַל עלעמענט טיפּ פון די מענגע.
  • קלאַססקאַסטעקססעפּטיאָן - אַן פּרווון צו ברענגען די אומרעכט איין טיפּ צו אנדערן.
  • יללעגאַלאַרגומענטעקססעפּטיאָן - ניצן דעם אומרעכט אַרגומענט אין דעם אופֿן רופן.
  • נעגאַטיוועאַררייַסיזעעקססעפּטיאָן - אַ ויסנעם ווען איר מאַכן אַ מענגע פון נעגאַטיוו גרייס.
  • נוללפּאָינטערעקססעפּטיאָן - מיסיוס פון רעפֿערענצן צו נאַל.
  • נומבערפאָרמאַטעקססעפּטיאָן - אַקערז ווען אַ פאַלש שטריקל קאַנווערזשאַן צו ינטאַדזשער.
  • ונסופּפּאָרטעדאָפּעראַטיאָנעקססעפּטיאָן - אָפּעראַציע איז ניט געשטיצט.

די יגזאַמפּאַלז פאָרשטעלן די טייפּס פון ניט-געצאַמט ז'אבא אויסנעמען. אָבער אַזוי קוקן אָפּגעשטעלט:

  • קלאַססנאָטפאָונדעקססעפּטיאָן - קלאַס ניט געפֿונען.
  • יללעגאַלאַקקסעססעקססעפּטיאָן - באַגרענעצן צוטריט צו די סאָרט.
  • ינטעררופּטעדעקססעפּטיאָן - יבעררייַס פון די שטראָם.
  • נאָסוטשפיעלדעקססעפּטיאָן - עס זענען ניט required פעלד.

די ינטערפּריטיישאַן פון די אויסנעמען

גערעדט פון אָפט געפּלאָנטערט אויסנעמען זאָל זיין אנגעוויזן אַז זייער ינטערפּריטיישאַן אין די פּלאַן, קענען זיין באמערקט ינקערעקטלי. ווייַטער איז אַ קורץ רשימה יקספּליינינג אין מער דעטאַל, ווו עס זאל זיין אַ אומגעריכט סיטואַציע.

נוללפּאָינטערעקססעפּטיאָן. די זייער ערשטער פאַל ווען עס איז אַ ויסנעם, איז צו אַפּעלירן צו אַ רעפֿערענץ צו אַ כייפעץ וואָס איז גלייַך צו נאַל. עס אויך יקסטענדז צו די נול קלאַס בייַשפּיל מעטהאָדס. נוללפּאָינטערעקססעפּטיאָן זאל ווערן אין די פאַל פון באקומען אַ גלייַך לענג נאַל מענגע. צו ויסמייַדן אַזאַ סיטואַטיאָנס וועט פּיריאַדיקלי טשעק זייטלעך אויף די נאַל.

אַררייַינדעקסאָוטאָפבאָונדסעקססעפּטיאָן. קיין פּראָגראַם קענען נישט עקסיסטירן אָן די נוצן פון ערייז. אַקקאָרדינגלי, די אָפט בריירע צו עס קענען דזשענערייט און טעות. ויסנעם אַקערז ווען אַ דעוועלאָפּער טרייז צו צוטריט אַ מענגע עלעמענט אַז איז ניט אין דער אינדעקס רשימה. לעמאָשל, די געבעטן ווערט איז אויבן אָדער אונטן נול לענג. זייער אָפֿט איז אַ רעזולטאַט פון די פאַקט אַז אין די מענגע הייבט מיט אַ כעזשבן פון נול.

פינדינגס

האַנדלינג ז'אבא אויסנעמען - אַ שטאַרק געצייַג סוויווע, וואָס זייער פאַסיליטאַטעס די אַרבעט פון די פּראָגראַמיסט און אַלאַוז אים צו מאַכן אַ ריין און אָנ שום פון קאָד ערראָרס. אויף ווי גלאַט און סטאַביל פונקטיאָנינג אַפּלאַקיישאַן דעפּענדס אויף דעם סטאַטוס און שעם פון די דעוועלאָפּער.

פון קורס, אין אַ מער אָדער ווייניקער פּשוט מגילה צו שפּור אַבנאָרמאַל סיטואַטיאָנס פיל גרינגער. אבער אין גרויס אָטאַמייטיד קאַמפּלעקסאַז פֿאַר אַ ביסל הונדערט טויזנט שורות עס איז מעגלעך בלויז ווי אַ רעזולטאַט פון לאַנג-טערמין טעסטינג און דיבאַגינג.

פֿאַר ז'אבא ויסנעם טעות פון וואָס שטיי אין עטלעכע פּראָגראַמען, עטלעכע קאָמפּאַניעס פאָרשלאָגן אַ באַלוינונג ווען זיי געפינען ענטוזיאַסץ. ספּעציעל אַפּרישיייטיד דורך די וואס גרונט אַ הילעל פון די זיכערהייַט פּאָליטיק ווייכווארג.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 yi.delachieve.com. Theme powered by WordPress.