පරිගණකවැඩසටහන්

ජාවා: ව්යතිරේක සහ ඒවායේ මෙහෙයුම්

ප්රභව කේත debugged නම් පමණක් ඕනෑම වැඩසටහනක් stably ක්රියාත්මක වනු ඇත, බලාපොරොත්තු නොවූ තත්වයන් ඇති විය හැකි බවට කිසිදු කොන්දේසි වේ. හැකි අසාර්ථක නෙත් ඇදගන්නා ක්රියාවලිය වැඩසටහන්කරණ වේදිකාව මත සිදු කරනු ලබයි. මේ සඳහා, සංවර්ධක ගිණුමට සියලු අපේක්ෂිත ප්රතිඵල වේ එය වැඩසටහන ක්රියාත්මක බාධා විය හැකි නම්, හෝ එහි කඩා වැටීම සඳහා ඒ නිසා වරද බලපෑම සීමා කිරීමට උත්සාහ දරයි.

ඔබ හැර මෙහෙයුම් අවශ්ය විය හැකි විට

ජාවා හි ව්යතිරේකයක් වැරදි කරන්නාට, සම්පතක් හෝ හදිසි ජාලය විසන්ධි වැඩසටහන සඳහා කිසිදු අවශ්යතාවයක් නිසා විය හැක. අයදුම්පත් සංවර්ධක විසින් නිර්මාණය පහසු භාවිතය සඳහා, ඔබ හදිසි තත්ත්වයන් ඇතිවීමට පාලනය කළ යුතුය. පාරිභෝගික අයදුම්පතක් ඉවත් කිරීමට බලා සිටීමට සිදු කළ යුතු නැහැ, ක unhandled හැර ප්රතිඵලයක් ලෙස දත්ත අහිමි කිරීම, හෝ පණිවිඩයක් කොටසක් පමනක් දෙයක් වැරැද්දක් සිදු වී තිබෙන බව පවසමින් පෙනී යයි.

ජාවා ව්යතිරේකයක් කටයුතු

දේ ගැන සලකා බැලීම? ජාවා භාෂාව තම බිල්ට් හැර මෙහෙයුම් ක්රියාකාරීත්වය ඇත. ඇත්ත වශයෙන්ම, වරදක් පිළිබඳ විශාල ප්රතිශතයක් තවත් සම්පාදනය කිරිමේ අදියර විසින් අල්ලාගෙන ඇත, පද්ධතිය ස්වයංක්රීයව එය තව දුරටත් හැකි නොවේ භාවිතා දැනුම් දෙනු ඇත. නමුත් ක්රියාත්මක වීමේදී එහි සිදුවන හැර මේ ආකාරයේ පවතී. සංවර්ධක එය අපේක්ෂා කිරීම සඳහා සහ එය දෝෂයක් ඇති කළේ නැත, සහ තවත් ශාඛා වෙත පාලනය විශේෂ ආකාරයකින් හා දවස් එය කටයුතු කළ නිසා කේතය නිර්මාණය කිරීමට හැකි විය යුතුය.

ජාවා දී, මෙම ව්යතිරේකයක් අල්ලා ගැනීමට සම්පාදකවරයා විසින් පනවනු ඇත, එසේ සාමාන්ය ප්රශ්න දන්නා සහ සම්මත අභ්යාස රටාවන් ඇති වේ.

සාමාන්ය බැහැර

මෙම අංශය - ඔබ කරන ව්යතිරේකයක් ලබා ගත හැකි සරල උදාහරණයක් ලෙස,. එහි සරල තිබිය දී ම, පද දී, Divider ලෙස, ශුන්ය, දෝෂයක් හේතු වනු ඇත ඇති විය හැක. හොඳයි, හැකි නම් පසුගිය වසර ඉස්මතු අනාවැකි හා වැළැක්වීම සඳහා. නමුත් මෙම විකල්පය හැම විටම ලබා ගත හැකි වන අතර, එසේ හැර ග්රහණය "ශුන්ය විසින් බෙදීම" අවස්ථාවක දී සෘජුවම සංවිධානය කළ යුතුය.

සැකසුම් දෝෂය අල්ලා ගැනීමට ජාවා යාන්ත්රණයක් මේ වගේ:

  • ගොඩක් හැර වස්තුව නිර්මාණය මෙන්ම, වෙනත් ඕනෑම;
  • වැඩසටහන ස්වභාවික පාඨමාලාව බාධා ඇත;
  • බැහැර යාන්ත්රණයක් කේතය දිගටම කිරීමේ විකල්ප ක්රම සොයා ගැනීමට උත්සාහ කරයි;
  • ප්රොසෙසරය දී මෙම වැඩසටහන ආරක්ෂිත ක්රියාත්මක, වැඩ හෝ නැවත සොයා, හෝ විශේෂ ආකාරයකින් හැර සාක්ෂාත් වැසි ඇති වේ.

දෝෂයක් නිර්මාණය කිරීමේ සරලම ප්රති උදාහරණය මේ වගේ විය:

නම් (අ == ශූන්ය)

නව NullPointerException විසි ();

මෙන්න, විචල්ය වන ආරම්භනය, එනම්, මැන බලා ඇත, එය ශූන්ය වස්තුව වෙත යොමු යන්න නොවේ. මෙම තත්ත්වය ඇති වී හා විශේෂ මෙහෙයුම් අවශ්ය කර තිබේ නම්, ව්යතිරේකයක් (අ විසි නව NullPointerException දමා ඇත).

ප්රධාන වචන ගැන එතරම් විස්තර

ව්යතිරේක සමඟ කටයුතු කරන විට බොහෝ විට යම් පියවර වෙත යොමු කිරීමට මූල පද ජාවා භාවිතා කිරීමට අවශ්ය වේ. ඔවුන්ගේ පස් වැඩසටහන් මේ භාෂාව:

  • උත්සාහ කරන්න. මෙම ඉඟි පද ඇත දැනටමත් හමු, සහ එය ව්යතිරේකයක් විසි හැකි බව කේතය කොටසක් සංක්රාන්ති සමයක් බවයි. වාරණ සීමිත සඟල {}.
  • ජීවිත ගොඩනැංවීමේ පාසල්. එය අපේක්ෂිත හැර වර්ගය අනවරතයන් හා නිසි පරිදි එය පාලනය.
  • අවසාන වශයෙන්. මෙම මූල පදය ගතිය හසු නොවන පවා නම් විකල්ප වන අතර, කෙසේ හෝ අවශ්ය වන කේතය යම් කෑල්ලක්, ඉටු කිරීමට භාවිතා වන අතර,. උත්සාහක වාරණ පසු කෙලින්ම වැඩිදුරටත් සඳහන් කළේය.
  • විසි - ඔබ ඕනෑම තැනක සිට ජාවා ව්යතිරේකයක් නිර්මාණය කිරීමට ඉඩ දෙයි.
  • අවුලට පත් - මෙම ක්රමය අත්සන තබා ඇති බව පදයක්. එය පහත දැක්වෙන කේතය මෙම වර්ගයේ ජාවා ව්යතිරේකයක් විසි හැකි බවයි. ෙමම ලකුණ මතක තබාගත යුතු බව සංවර්ධකයින් විසින් සංඥාවක් ලෙස කටයුතු කරයි - ඔහු බලාපොරොත්තු වූ පරිදි මෙම ක්රමය වැඩ කරන්න බෑ.

උත්සාහක සමග නෙත් ඇදගන්නා

ජාවා ව්යතිරේකයක් නිදහස් කර, ස්වභාවිකව, ඒ විශේෂ ආකාරයෙන් කටයුතු කරන බව උපකල්පනය කරයි. කේතය කොටසේ වාරණ දී අරාබි අවන්හලක් නම්, එය කිරීමට වඩාත් පහසු ක්රමයක්. කුමන ව්යතිරේකයක් එහි අඩංගු වී තිබිය හැක. ඔබ මෙම කේතය ක්රියාත්මක කරන විට, අථත්ය යන්ත්රයක්, අනපේක්ෂිත තත්ත්වය සොයා සැකසීම සමග ස්ථානයට තීරනාත්මක වාරණ හා ස්ථාන මාරුවීම් පාලනය ඇති බව වටහා ඇත.

ජාවා කේත කරන ලද, ව්යතිරේකයක් විය හැකි විශේෂ වාරණ උත්සාහක දිනුමක්, ඔතා ඇත. මේ අනුව, ඔහු එම ස්ථානයේ, raspolzayas කේතය හසු වනු ඇත බව බලාපොරොත්තු නොවූ තත්වයන් කිහිපයක් තබා තිබෙනවා.

මෙම සැකසුම් ඒකකය වෙත වඩාත් සාමාන්ය යුතු සංකේතය පහත සඳහන් පරිදි වේ:

උත්සාහ කරන්න {

// මෙන්න ව්යතිරේකයක් උත්පාදනය විය හැකි සමහර කේතය

} Catch (Tip_isklyucheniya_1 identifikator_1) {

// මෙන්න එහි වර්ගය හා කොන්දේසි වලට අනුව, හැර මෙහෙයුම් ය;

} Catch (Tip_isklyucheniya_2 identifikator_2) {

// මෙන්න එහි වර්ගය හා කොන්දේසි වලට අනුව, හැර මෙහෙයුම් ය;

}

ඉඟි පද මාලුවෙක්වත් කේතය වාර්තා, සහ පහත විස්තර ලෙස සැලකිය යුතුයි, ව්යතිරේකයක් සඳහා පරිලෝකනය, එය එහි වර්ගය හා අනුකූල බව ලබා. මෙම හඳුනාගැනීමේ කේත වාරණ තර්ක ලෙස සකසන භාවිතා කල හැක.

අවසාන වශයෙන්

එය පෙර පරිච්ඡේදයෙන් පැහැදිලි වූ විට, උඩ කොටස් ව්යතිරේක අල්ලා සහ ඔවුන් සැකසීමට. නමුත් බොහෝ විට මෙම තත්ත්වය නොතකා ඔවුන් වැරදි හසු කර යන්න, ඇතැම් කේතය ක්රියාත්මක කළ යුතු පැන නඟිනවා. මේ සඳහා අවසානයේ මූල පදය නැත. එය ගොනු හෝ ජාල සම්බන්ධතා, වැසීම, විවිධ කවුළු වටිනාකම් වැඩි කිරීමට භාවිතා කරයි.

මෙම බිම් ව්යතිරේක අල්ලා ක්රම නිර්මාණය උඩ කුට්ටි කිහිපයක් ඉදිරිපත් කරයි. උදාහරණයක් ලෙස, උත්සාහක අඩංගු කේතය එවැනි සීතල ලෙස අනපේක්ෂිත තත්ත්වය උත්පාදනය කරයි. එවිට, අග්ර «! සීතල මාට්ටු» ප්රදර්ශනය ප්රකාශනය විය යුතු අතර «දෙයක් ගැන? දිව බව ද» ඇත. එනම්, අවසානයේ වාරණ ඕනෑම අවස්ථාවක ක්රියාත්මක වන ඇත.

ඇත්ත වශයෙන්ම, අවසානයේ එහි පූරණ වළක්වා ගැනීමට ක්රමයක්. එය අතථ්ය යන්ත්රය අවසන් වීමත් සමග සම්බන්ධ වී ඇත. එය අන්තර්ජාලය විවෘත අවකාශයන් මත විය හැකි වන අතර, එය ක්රියාත්මක වන ආකාරය සොයා බලන්න.

මූල පදය විසි

විසි ව්යතිරේකයක් උත්පාදනය කරයි. එහි වාග් රීතිය පහත පරිදිය:

නව NewException විසි ();

වර්ගය NewException () සඳහා නව හැර එහි නිර්මාණය කර ඇත. වර්ගයක් භාවිතා කළ හැකි වන පරිදි මේ වන විටත් සම්මත ජාවා පුස්තකාල පන්ති ඇතුලත් වී ඇති අතර, එහි ම නිෂ්පාදන සංවර්ධක විසින් කලින් තීරණය කරයි.

මෙම නිර්මාණ ඇමතුම එය අල්ලා ගැනීමට හැකි විය කිරීම සඳහා, උත්සාහක වාරණ තුල සිදුවන යුතු ඕනෑම ක්රමයක්, එම විස්තර කොටසකි.

ඉඟි පද අවුලට

මෙම ක්රමය ව්යතිරේකයක් විසි, නමුත් නිසි හැසිරවීමට නොහැකි හැකි තත්වයක් සංවර්ධනය කිරීමේ ක්රියාවලිය තුළ දේ නම්. මේ සඳහා, මෙම ක්රමය අත්සන යන වචනය අවුලට සහ හැකි ව්යතිරේකයක් වර්ගය දක්වයි.

මෙම ලේබලය ක්රමය ඔවුන්ගේ එකම ව්යතිරේකය හැසිරවීමට හැකි නොවන බව සේවාදායකයා සංවර්ධකයන් සඳහා දර්ශකයක් කාරුණික වේ. මීට අමතරව, දෝෂයක් වර්ගය පරීක්ෂා කෙරේ නම්, සම්පාදකවරයා නිශ්චිත වශයෙන්ම එය ඉල්ලා බල කරනු ඇත.

සම්පත් කිරීමට උත්සාහ

ජාවා සංස්කරණය සංවර්ධකයින් 7 සම්පත් සහිත ප්රතිකාර උත්සාහක වාරණ ලෙස, ප්රධාන නවෝත්පාදන ඇතුළත් කර ඇත.

භාවිතය සම්පත් සංරක්ෂණය කිරීම සඳහා වසා ගත යුතු පසු බොහෝ වස්තූන්, ජාවා නිර්මාණය කර ඇත. මීට පෙර එය මේ ගැන සොයා බලා මෙම අවස්ථා අතින් නතර කිරීමට සිදු විය. කෙසේ වෙතත් දැන්, ඔවුන් AutoClosable අතුරු මුහුණත පෙනී සිටියේය. එය ස්වයංක්රීයව උත්සාහක වාරණ තබා දැනටමත් භාවිතා වන වස්තූන් වසා ගැනීමට උපකාරී වේ. මෙම ප්රවේශය මගින් එහි කියවීමේ පහසුව සැලකිය යුතු වැඩි වී ඇත කේත ලිවීමට වඩාත් පහසු වී ඇත.

ම පන්ති ජාවා ව්යතිරේකයක්

පිළිබඳ විස්තර කළ ක්රමලේඛන භාෂාව පිළිබඳ තනන්නන් සැලකිල්ලට හදිසි සැලසුම් වර්ග බොහෝ අංග විය. කෙසේ වෙතත්, විකල්ප සියලු ජාවා තුල තමන්ගේ ව්යතිරේක නිර්වචනය කිරීමේ හැකියාව ක්රියාත්මක නිසා, සිදුවීම් ප්රතිඵලය වැඩ නොකරන වැළැක්වීම සඳහා, එය විශේෂයෙන් කේතය අවශ්යතා සඳහා සුදුසු වේ.

වස්තුව සන්දර්භය සඳහා වඩාත් සුදුසු සිට උරුම කරගැනීමට - නිර්මාණය කිරීම සඳහා සරලම ක්රමයක්.

, ඔබේ ම ව්යතිරේක නිර්වචනය කිරීම සඳහා භාවිතා වන පන්ති ව්යතිරේක සිට උරුම කරගැනීමට එහි දී සිදු වූ. පෙරනිමි, දෙවන - - එම තර්කය msg වර්ගය, සංගීත සමග MyException දෙකක් ඉදිකරන්නන් ඇත.

එවිට, මහජන පන්ති කාමර FullConstructors දී අත්සන් MyException අවුලට අඩංගු ක්රමය f, ක්රියාත්මක කර ඇත. මෙම මූල පදය ඊ ජාවා MyException හැර වගේ විසි හැකි බවයි. තවද, මෙම ක්රමය ශරීරයේ පෙළ තොරතුරු ප්රතිදානය කොන්සෝලය ම සහ සත පරම්පරාව MyException කිරීමට, විසි විසින් නිෂ්පාදනය කරන ලදී.

දෙවැනි ක්රමය, ඔබට ව්යතිරේකයක් නිර්මාණය කරන විට, එය මුහුදේ දැළක් දී කොන්සෝලය පිළිබිඹු කරනු ලබන වැලක් පරාමිතිය, සම්මත වූ පළමු එක් තරමක් වෙනස් වේ. ප්රධාන වශයෙන් එය f () හා g () බව උත්සාහක පරික්ෂාව හා MyException අල්ලා ගැනීමට සකසා ඉඟි පද උඩ තබා ඇත. පැහැදිලි වේ සැකසුම් ප්රතිඵලයක් කොන්සෝලය වෙත දෝෂයක් දර්ශණය වන්නේ:

මේ අනුව, එය ඔහුගේ අතින්, ජාවා ව්යතිරේකයක් එකතු විය.

ගෘහ නිර්මාණ ශිල්පය ව්යතිරේකයන්

ජාවා සියලු වස්තූන් මෙන්, ව්යතිරේකයන් ද උරුම සහ ව්යුහය ඇති වේ. මෙම ක්රමලේඛන භාෂා දමන සියලු දෝෂ මූල අංගයක් පන්ති java.lang.Throwable වේ. දෝෂ හා ව්යතිරේක - වර්ග දෙකක් ඔහුට උරුම.

දෝෂය - තීරනාත්මක දෝෂයක් සංඥා සහ සුපරික්ෂාකාරී නොවීම ජාවා ව්යතිරේකයක් ඇත. යාන අතුරු සහ බොහෝ අවස්ථාවල දී එවැනි දත්ත සකසන නිර්මාණය අදියරේ දී නොව අවසාන අයදුම් කේතය දී හඳුන්වා අවශ්ය වේ.

මෙම ව්යතිරේක නිර්මාණය කිරීම සහ විශ්ලේෂණය කිරීම සඳහා වඩාත් බහුලව භාවිතා පන්ති ව්යතිරේක වේ. කුමන, අනෙක් අතට, RuntimeException ඇතුළු ශාඛා, බෙදා ඇත. RuntimeException විසින් මෙම වැඩසටහන තුළ ඇති, එනම්, ධාවන ව්යතිරේකයන්. ඒ නිසාම සියලු පන්ති unverifiable වේ.

බොහෝ විට ව්යතිරේකයන් ඇත

ජාවා ව්යතිරේකයක්, පහත වන ඉදිරිපත් කර ඇත ලැයිස්තුව, බොහෝ විට, ඔබ විස්තර එක් එක් විස්තර කළ යුතුය එසේ භාවිතා වේ:

  • ArithmeticException. මෙම කර්මයන් සම්බන්ධ වැරදි ඇතුළත් වේ. වඩාත් කැපී පෙනෙන උදාහරණ - ශුන්ය විසින් අංශය.
  • ArrayIndexOutOfBoundsException - එහි දිග මුළු ඉක්මවා අරාව අංගයක් අංකය වෙත අභියාචනයක් ඉදිරිපත්.
  • ArrayStoreException - අරාව ක නොපෑහෙන අංගයක් වර්ගය අනුයුක්ත කිරීමට උත්සාහ කරනවා.
  • ClassCastException - තවත් වැරදි එක් වර්ගයක් ගෙන ඒමට උත්සාහ.
  • IllegalArgumentException - මෙම ක්රමය ඇමතුමක් වැරදි තර්කය භාවිතා කිරීම.
  • NegativeArraySizeException - ඔබ සෘණ ප්රමාණය රැසක් නිර්මාණය කරන විට, ව්යතිරේකයක්.
  • NullPointerException - ශූන්ය කිරීමට යොමු අනිසි ලෙස පරිහරණය.
  • NumberFormatException - වැරදි string පරිවර්තනය පූර්ණ සංඛ්යාමය කිරීමට විට සිදුවේ.
  • UnsupportedOperationException - මෙහෙයුම් සහාය නොදක්වයි.

මෙම උදාහරණ පරීක්ෂාවෙන් තොරව ජාවා ව්යතිරේකයක් වර්ග නියෝජනය කරයි. එහෙත්, එසේ පරීක්ෂා දෙස බලන්න:

  • ClassNotFoundException - පංතිය සොයාගත නොහැකි විය.
  • IllegalAcccessException - පන්ති පිවිසීම සීමා.
  • InterruptedException - ගලා අත්හිටුවීමක්.
  • NoSuchFieldException - කිසිදු අත්යවශ්ය ක්ෂේත්ර ඇත.

මෙම ව්යතිරේකයක් අර්ථ නිරූපණය

නිර්මාණය ඔවුන්ගේ අර්ථ, වැරදි සංජානනය කළ හැකි බව නිතර නිතර මුහුණ ව්යතිරේකයක් කතා සඳහන් කළ යුතු ය. ඊළඟ අනපේක්ෂිත තත්ත්වය ඇති විය හැක එහිදී වැඩි විස්තර, දී පැහැදිලි කෙටි ලැයිස්තුවකි.

NullPointerException. ව්යතිරේකයක් නොමැති විට ඉතා පළමු නඩුව, ශුන්ය සමාන බව වස්තුවක් සැඳහුම ආයාචනා කිරීමට ය. ද එය ශුන්ය පන්ති උදාහරණයක් ක්රම දක්වා විහිදී යයි. NullPointerException සමාන දිග ශූන්ය මාලාවක් ලබා ගැනීමේ නඩුව වීසි විය හැක. එවැනි තත්ත්වයන් මග හරවා ගැනීමට කලින් කලට ශූන්ය මත වෙබ් අඩවි පරීක්ෂා කරනු ඇත.

ArrayIndexOutOfBoundsException. ඕනෑම වැඩසටහනක් පෙලගැස්මක් භාවිතය තොරව පැවතිය නොහැකියි. ඒ අනුව, ඒ සඳහා නිතර නිතර කරදර අත්වූ ජනනය සහ දෝෂ හැක. නිර්මාණකරුවෙකු දර්ශකය ලැයිස්තුව නොවන බව මාලාවක් අංගයක් ප්රවේශ කිරීමට උත්සහ කරන විට හැර සිදුවේ. උදාහරණයක් ලෙස, ඉල්ලා අගය ශුන්ය දිග ඉහත හෝ පහත වේ. බොහෝ විට අරාව දී ආරම්භ ශුන්යයට ලකුණු බව ප්රතිඵලයක්.

සොයා ගැනීම්

ජාවා ව්යතිරේකයක් කටයුතු - ගැලීම් සටහන් වැඩ විශාල පහසුකම් සලසයි ඔහුට පිරිසිදු හා කේතය වැරදි තොර නිර්මාණය කිරීමට ඉඩ සලසා දෙයි ප්රබල මෙවලමක් පරිසරය,. කොතරම් හා ස්ථාවර මත ක්රියාත්මක යෙදුම සංවර්ධක තත්ත්වය හා පිළිගැනීම මත රඳා පවතී.

ඇත්ත වශයෙන්ම, අඩු හෝ වැඩි සරල වැඩසටහන් වඩාත් පහසු අසාමාන්ය තත්වයන් සොයා ගැනීමට. නමුත් මාර්ග දස දහස් ගණනකින් සඳහා විශාල ස්වයංක්රීය සංකීර්ණ එය පමණක් දීර්ඝ කාලීන පරීක්ෂණ හා දෝෂ හේතුවෙන් හැකි ය.

සමහර යෙදුම් මතු වන සිට ජාවා ව්යතිරේකයක් දෝෂයක් සඳහා, සමහර සමාගම් ඔවුන් උනන්දුවක් දක්වන්නන්ට සොයා විට විපාකය ඉදිරිපත්. ආරක්ෂක ප්රතිපත්තිය මෘදුකාංග උල්ලංඝනය හේතු වන බව එම විසින් විශේෂයෙන් අගය කළේය.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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