You are on page 1of 23

ExcepcioneƐĞŶη͘Ed

WƌĞŐƵŶƚĂƐ ĚĞƚŽŶĂĚŽƌĂƐ

‰Ǭ׏‘•‡ ‘–”‘ŽƒŽ‘•’‘•‹„Ž‡•‡””‘”‡•“—‡
‘ —””ƒ†—”ƒ–‡Žƒ‡Œ‡ — ‹×†‡—ƒƒ’Ž‹ ƒ ‹×ǫ
‰’”‘‰”ƒƒ†‘”ǡǬ’—‡†‡†‹•’ƒ”ƒ”•—•’”‘’‹ƒ•
‡š ‡’ ‹‘‡•ǫ
‰Ǭ׏‘•‡’”‡’ƒ”ƒƒ—ƒƒ’Ž‹ ƒ ‹×’ƒ”ƒ“—‡
ƒ‡Œ‡‡””‘”‡•ǫ

͎YƵĠĞƐƵŶĂĞdžĐĞƉĐŝſŶ͍

y •—‡˜‡–‘“—‡‘ —””‡†—”ƒ–‡Žƒ
‡Œ‡ — ‹×†‡—’”‘‰”ƒƒ›“—‡
‹–‡””—’‡‡ŽˆŽ—Œ‘‘”ƒŽ†‡
‘’‡”ƒ ‹×

Ϯ
ExcepcioneƐĞŶη͘Ed

ƐƉĞƌĂŶĚŽůŽŝŶĞƐƉĞƌĂĚŽ͊͊
y  —””‡ ‹ƒ†‡
•— ‡•‘•“—‡•‡
‘•‹†‡”ƒ
‡š ‡’ ‹‘ƒŽ‡•Ǥ
y ׏‘ƒ‡Œƒ”
•‹–—ƒ ‹‘‡•ƒ×ƒŽƒ•
y —‡†‡‘ —””‹”
†—”ƒ–‡Žƒ‡Œ‡ — ‹×
†‡—’”‘‰”ƒƒ

ŽŶƚƌŽůĚĞĞdžĐĞƉĐŝŽŶĞƐ
y ‡„‡ •‡” •‹’Ž‡ †‡ —•ƒ” › †‡ ‡–‡†‡”
y ‡„‡ •‡’ƒ”ƒ” ‡Ž ׆‹‰‘ †‡Ž –”ƒ–ƒ‹‡–‘
†‡ ‡š ‡’ ‹‘‡• †‡Ž ׆‹‰‘ ‘”ƒŽ
y ’Ž‡‡–ƒ” — –”ƒ–ƒ‹‡–‘ —‹ˆ‘”‡
†‡ Žƒ• ‡š ‡’ ‹‘‡•
y ‡”‹–‹” “—‡ Žƒ• ƒ ‹‘‡• †‡
”‡ —’‡”ƒ ‹× •‡ƒ ’”‘‰”ƒƒ†ƒ•

ϯ
Excepciones en C#. Net

dŝƉŽƐĚĞĞdžĐĞƉĐŝŽŶĞƐ

’ŽÀ ‹–ƒ•ǤǦ ‡ˆ‹‹†ƒ•’‘”‡ŽŽ‡‰—ƒŒ‡

‹’‘•†‡
‡š ‡’ ‹‘‡•

š’ŽÀ ‹–ƒ•ǤǦ ‡ˆ‹‹†ƒ•’‘”‡Ž’”‘‰”ƒƒ†‘”

džĐĞƉĐŝŽŶĞƐĞŶη
• ‘†ƒ• Žƒ• ‡š ‡’ ‹‘‡• †‡”‹˜ƒ †‡
System.Exception

ϰ
ExcepcionesĞŶη͘Ed

ůĞƐƉĂĐŝŽĚĞŶŽŵďƌĞƐ
^LJƐƚĞŵ͘džĐĞƉƚŝŽŶ
y  Ž—‹†‘‡ŽƒŽ‹„”‡”Àƒ†‡ Žƒ•‡•ȋȌ
OutOfMemoryException

IOException

System.Exception NullReferenceException

Exception

Application.Exception FormatException

DivideByZeroException

ArithmeticException

OverflowException

ůŐƵŶĂƐĞdžĐĞƉĐŝŽŶĞƐ
š ‡’ ‹× ”‹‰‡ȋ ƒ—•ƒ†‡Ž‡””‘”Ȍ
‘”ƒ–š ‡’–‹‘ Žˆ‘”ƒ–‘†‡—†ƒ–‘‘ ‘””‡•’‘†‡ ‘
•—•‡•’‡ ‹ˆ‹ ƒ ‹‘‡•
‹˜‹†‡›‡”‘š ‡’–‹‘ —ƒ†‘•‡‹–‡–ƒ ƒŽ —Žƒ”—ƒ†‹˜‹•‹×’‘”
‡”‘ȋ‡Ž†‡‘‹ƒ†‘”‡• ‡”‘Ȍ
˜‡”ˆŽ‘™š ‡’–‹‘ —ƒ†‘—ƒ‘’‡”ƒ ‹×ƒ”‹–±–‹ ƒ’”‘†— ‡
—”‡•—Ž–ƒ†‘“—‡‡•–žˆ—‡”ƒ†‡Ž‹–‡”˜ƒŽ‘†‡
†ƒ–‘•’‡”‹–‹†‘Ǥ
—–ˆ‡‘”›š ‡’–‹‘ ‘Šƒ›•—ˆ‹ ‹‡–‡‡•’ƒ ‹‘†‡‡‘”‹ƒ’ƒ”ƒ
”‡ƒ”—‘„Œ‡–‘
†‡š—–ˆƒ‰‡š ‡’–‹‘ —ƒ†‘•‡‹–‡–ƒƒ ‡†‡”ƒ—ƒ ‡Ž†ƒ†‡—
ƒ””‡‰Ž‘ —›‘À†‹ ‡‡•–žˆ—‡”ƒ†‡Ž”ƒ‰‘
’‡”‹–‹†‘

ϭϬ

ϱ
ExcepcionesĞŶη͘Ed

/ŶƚƌŽĚƵĐĐŝſŶĂůŵĂŶĞũŽĚĞ
ĞdžĐĞƉĐŝŽŶĞƐ
Ȉ š ‡’ ‹×

Ȉ ƒ‡Œƒ†‘”†‡‡š ‡’ ‹×

Ȉ ‡˜ƒ–ƒ‹‡–‘†‡—ƒ
‡š ‡’ ‹×

ϭϭ

DĂŶĞũŽĚĞĞdžĐĞƉĐŝŽŶĞƐĞŶη
͛ ‡˜Àƒ —ƒ ‡š ‡’ ‹× —ƒ†‘ ‘ —””‡ —‡””‘”‡‡Ž
’”‘‰”ƒƒ ›†‡–‹‡‡ •— ‡Œ‡ — ‹×Ǥ

‹•‡†‡•‡ƒ “—‡Žƒƒ’Ž‹ ƒ ‹× •‹‰ƒ ‡Œ‡ —–ž†‘•‡ †‡•’—±•


†‡Ž‡””‘”ǡ‡–‘ ‡• •‡—•ƒǣ

9 –”› ’ƒ”ƒ’‘‡” ‡ƒŽ‡”–ƒ ƒŽ’”‘‰”ƒƒ •‘„”‡ ‡Ž ׆‹‰‘


“—‡’—‡†‡ Žƒœƒ” —ƒ ‡š ‡’ ‹×Ǥ

9 ƒ– Š ’ƒ”ƒ ƒ’–—”ƒ” ›ƒ‡Œƒ” ƒ†ƒ ‡š ‡’ ‹× “—‡ •‡


Žƒ ‡Ǥ

9ˆ‹ƒŽŽ› ׆‹‰‘ “—‡ •‡‡Œ‡ —–ƒ”ž Šƒ›ƒ ‘‘‡š ‡’ ‹‘‡•Ǥ

ϭϮ

ϲ
Excepciones ĞŶη͘Ed

DĂŶĞũŽĚĞĞdžĐĞƉĐŝŽŶĞƐĞŶη;ĐŽŶƚ͘Ϳ
–”›
Ƈ
ƃŽ‘“—‡†‡ ܆‹‰‘“—‡’—‡†‡ ƒ—•ƒ”‡””‘”‡•Ƅ
ƈ

ƒ– Š
Ƈ
ƃ—²Šƒ ‡”•‹•— ‡†‡—‡””‘”Ƅ
ƈ

ˆ‹ƒŽŽ›
Ƈ
ƃ‡ —ƒŽ“—‹‡”ƒ‡”ƒřŠƒ ‡”Ž‘•‹‰—‹‡–‡ŝƄ
ƈ

EŽĚĞďĞŶĚĞĐůĂƌĂƌƐĞǀĂƌŝĂďůĞƐĚĞŶƚƌŽĚĞƵŶďůŽƋƵĞĚĞ
ƐĞŶƚĞŶĐŝĂƐƚƌLJ͕LJĂƋƵĞƐĞƌşĂŶĐŽŶƐŝĚĞƌĂĚĂƐůŽĐĂůĞƐLJ
ƷŶŝĐĂŵĞŶƚĞĚŝĐŚŽďůŽƋƵĞƉŽĚƌşĂƵƚŝůŝnjĂƌůĂƐ

ϭϯ

͎YƵĠŚĂĐĞƌĚĞƐƉƵĠƐĚĞŵĂŶĞũĂƌůĂ
ĞdžĐĞƉĐŝſŶ͍
—ƒ†‘‡Žƒ‡Œƒ†‘”–‡”‹ƒ•‡’—‡†‡
Šƒ ‡” †‘• ‘•ƒ•ǣ

y ‡ƒ—†ƒ” Žƒ‡Œ‡ — ‹×†‡Ž„Ž‘“—‡


y ‡”‹ƒ” Žƒ‡Œ‡ — ‹×†‡Ž„Ž‘“—‡›
†‡˜‘Ž˜‡”‡Ž ‘–”‘ŽƒŽ’—–‘†‡ ‹˜‘ ƒ ‹×Ǥ

ϭϰ

ϳ
ExcepcionesĞŶη͘Ed

ũĞŵƉůŽĞŶĐŽŶƐŽůĂ
‹– ‹ʰɥŚ

–”›
Ƈ
‘•‘Ž‡Ŝ”‹–‡ſɑ‡ Ž‡‡—õ‡”‘‡–‡”‘śɑƀŚ
‹ʰ‹–Ŝƒ”•‡ſ‘•‘Ž‡Ŝ‡ƒ†‹‡ſƀƀŚ
ƈ
ƒ– Š ſ˜‡”ˆŽ‘™š ‡’–‹‘ šƀ
Ƈ
‘•‘Ž‡Ŝ”‹–‡‹‡ſšŜ‡••ƒ‰‡ƀŚ
ƈ

ϭϱ

dƌĂƚĂŵŝĞŶƚŽĚĞĞdžĐĞƉĐŝŽŶĞƐ
Ȉ ƒ†ƒ„Ž‘“—‡ ƒ– Š ƒ’–—”ƒ—ƒ Žƒ•‡†‡
‡š ‡’ ‹×

Ȉ —‡†‡Šƒ„‡”˜ƒ”‹‘•„Ž‘“—‡• ƒ– Š ’‘”
—„Ž‘“—‡–”›

Ȉ Ž„Ž‘“—‡ ƒ– Š ‘’—‡†‡ ƒ’–—”ƒ”


‡š ‡’ ‹‘‡•†‡—„Ž‘“—‡–”› ƒ–‡”‹‘”
ϭϲ

ϴ
Excepciones ĞŶη͘Ed

ũĞŵƉůŽĐŽŶǀĂƌŝŽƐďůŽƋƵĞƐĐĂƚĐŚ
‹– ‹–‹˜‹†‡†‘ ʰɥř‹–‹˜‹•‘”ʰɥř‹–‡•—Ž–ƒ†‘ʰɥŚ

–”› Ƈ
‘•‘Ž‡Ŝ”‹–‡ſɑ‡ Ž‡‡‡Ž˜ƒŽ‘”†‡Ž†‹˜‹†‡†‘śɑƀŚ
‹–‹˜‹†‡†‘ʰ‹–Ŝƒ”•‡ſ‘•‘Ž‡Ŝ‡ƒ†‹‡ſƀƀŚ

‘•‘Ž‡Ŝ”‹–‡ſɑ‡ Ž‡‡‡Ž˜ƒŽ‘”†‡Ž†‹˜‹•‘”śɑƀŚ
‹–‹˜‹•‘”ʰ‹–Ŝƒ”•‡ſ‘•‘Ž‡Ŝ‡ƒ†‹‡ſƀƀŚ

‹–‡•—Ž–ƒ†‘ ʰ‹–‹˜‹†‡†‘ ŵ‹–‹˜‹•‘”Ś


ƈ
ƒ– Š ſ˜‡”ˆŽ‘™š ‡’–‹‘ƀƇ
‘•‘Ž‡Ŝ”‹–‡‹‡ſɑõ‡”‘†‡ƒ•‹ƒ†‘‰”ƒ†‡ɑƀŚ
ƈ
ƒ– Š ſ‹˜‹†‡›‡”‘š ‡’–‹‘ƀƇ
‘•‘Ž‡Ŝ”‹–‡‹‡ſɑ””‘”ś‹˜‹•‹Ü’‘” ‡”‘ɑƀŚ
ƈ
ƒ– Šſš ‡’–‹‘ šƀƇ
‘•‘Ž‡Ŝ”‹–‡‹‡ſšŜ‡••ƒ‰‡ƀŚ
ƈ

ϭϳ

ũĞŵƉůŽƐŝŶŵĂŶĞũŽĚĞ
ĞdžĐĞƉĐŝŽŶĞƐ
•–ƒ–‹ ˜‘‹† ƒ‹ſ•–”‹‰ƃƄƒ”‰•ƀ
Ƈ
‹– ‹–‹˜‹†‡†‘ʰɬř‹–‹˜‹•‘”ʰɥř‹–‡•—Ž–ƒ†‘ʰɥŚ

‹–‡•—Ž–ƒ†‘ ʰ‹–‹˜‹†‡†‘ ŵ‹–‹˜‹•‘”Ś

‘•‘Ž‡Ŝ‡ƒ†‡›ſƀŚ
ƈ

,QWHQWDHMHFXWDUXQD
GLYLVLyQSRUFHUR
LQW'LYLVRU 

ϭϴ

ϵ
ExcepcionesĞŶη͘Ed

ũĞŵƉůŽƐŝŶŵĂŶĞũŽĚĞ
ĞdžĐĞƉĐŝŽŶĞƐ;ĐŽŶƚ͘Ϳ

ϭϵ

ŝǀŝĚĞLJĞƌŽdžĐĞƉƚŝŽŶ
•–ƒ–‹ ˜‘‹† ƒ‹ſ•–”‹‰ƃƄƒ”‰•ƀ
Ƈ
‹– ‹–‹˜‹†‡†‘ ʰɬř‹–‹˜‹•‘”ʰɥř‹–‡•—Ž–ƒ†‘ʰɥŚ

–”› Ƈ
‹–‡•—Ž–ƒ†‘ ʰ‹–‹˜‹†‡†‘ ŵ‹–‹˜‹•‘”Ś

‘•‘Ž‡Ŝ”‹–‡‹‡ſ‹–‹˜‹†‡†‘ʫɑŵɑʫ‹–‹˜‹•‘”ʫɑʰ
ɑʫ‹–‡•—Ž–ƒ†‘ƀŚ
ƈ
ƒ– Šſ‹˜‹†‡›‡”‘š ‡’–‹‘ šƀƇ
‘•‘Ž‡Ŝ”‹–‡‹‡ſšŜ‡••ƒ‰‡ƀŚ
ƈ 3URSLHGDGFRQHO
‘•‘Ž‡Ŝ‡ƒ†‡›ſƀŚ PHQVDMHGHOD
ƈ H[FHSFLyQ

ϮϬ

ϭϬ
ExcepcionesĞŶη͘Ed

DĞŶƐĂũĞƐĚĞĞdžĐĞƉĐŝŽŶĞƐ

Ϯϭ

ũĞŵƉůŽĐŽŶŵĂŶĞũŽĚĞĞdžĐĞƉĐŝŽŶĞƐ
ĞŶĂƉůŝĐĂĐŝŽŶĞƐǀŝƐƵĂůĞƐ

ϮϮ

ϭϭ
Excepciones ĞŶη͘Ed

ũĞŵƉůŽĚĞĚŝǀŝƐŝſŶƉŽƌĐĞƌŽ

Ϯϯ

ŽĚŝĨŝĐĂĐŝſŶĚĞůďŽƚſŶƉĂƌĂ
ĐĂůĐƵůĂƌůĂĚŝǀŝƐŝſŶ
’”‹˜ƒ–‡ ˜‘‹† „–ƒŽ —Žƒ”ɏŽ‹ ſ‘„Œ‡ – •‡†‡”ř˜‡–”‰• ‡ƀ
Ƈ
‹– ‹–‹˜‹†‡†‘ ʰɥř‹–‹˜‹•‘” ʰɥř‹–‡•—Ž–ƒ†‘ ʰɥŚ
–”› Ƈ
‹–‹˜‹†‡†‘ʰ‹–Ŝƒ”•‡ſ–š–‹˜‹†‡†‘Ŝ‡š–ƀŚ
‹–‹˜‹•‘” ʰ‹–Ŝƒ”•‡ſ–š–‹˜‹•‘”Ŝ‡š–ƀŚ
‹–‡•—Ž–ƒ†‘ ʰ‹–‹˜‹†‡†‘ ŵ‹–‹˜‹•‘”Ś
ƈ
ƒ– Š ſš ‡’–‹‘ šƀƇ
‡••ƒ‰‡‘šŜŠ‘™ſɑśɑ ʫšŜ‡••ƒ‰‡ƀŚ
ƈ
ˆ‹ƒŽŽ› Ƈ
–š–‡•—Ž–ƒ†‘Ŝ‡š– ʰ‹–‡•—Ž–ƒ†‘Ŝ‘–”‹‰ſƀŚ
ƈ
ƈ

Ϯϰ

ϭϮ
Excepciones ĞŶη͘Ed

KƚƌŽĞũĞŵƉůŽƉĂƌĂǀĂůŝĚĂƌůĂĐĂƉƚƵƌĂ
ĚĞĚĂƚŽƐĞŶĐŽŶƐŽůĂ
int a=0;
bool Bandera = true;
do
{
Bandera = false;
try
{
Console.Write("Capture un número entero: ");
a = int.Parse(Console.ReadLine());
}
catch (Exception x)
{
Console.WriteLine("ERROR: " + x.Message);
Console.ReadKey();
Bandera = true;
}
} while (Bandera);

Ϯϱ

ZĂŶŐŽ ĚĞǀĂůŽƌĞƐ ƉĂƌĂĚĂƚŽƐ


ŶƵŵĠƌŝĐŽƐ ĞŶƚĞƌŽƐ

͢͞

Ϯϲ

ϭϯ
ExcepcionesĞŶη͘Ed

WƌŽƉŝĞĚĂĚĞƐDĂdžsĂůƵĞ LJDŝŶsĂůƵĞ
y ƒšƒŽ—‡ ƒ•‹‰ƒ‡Ž˜ƒŽ‘”ž•‰”ƒ†‡’ƒ”ƒ—
–‹’‘†‡†ƒ–‘

y ‹ƒŽ—‡ ƒ•‹‰ƒ‡Ž˜ƒŽ‘”ž•’‡“—‡Ó‘’ƒ”ƒ—
–‹’‘†‡†ƒ–‘

‹– ‹–—‡”‘ɨʰ‹–ŜƒšƒŽ—‡Śŵŵɩřɨɫɮřɫɯɪřɭɫɮ

‹– ‹–—‡”‘ɩʰ‹–Ŝ‹ƒŽ—‡ŚŵŵŞɩřɨɫɮřɫɯɪřɭɫɯ

Ϯϳ

ĞƐďŽƌĚĞĂƌŝƚŵĠƚŝĐŽ
y ˜‡”ˆŽ‘™š ‡’–‹‘ŜŞ  —””‡ —ƒ†‘
—†ƒ–‘Dz‘ ƒ„‡dz‡Žƒ˜ƒ”‹ƒ„Ž‡
y •–ƒ‡š ‡’ ‹× •‡†‹•’ƒ”ƒ
”‡‰—Žƒ”‡–‡ —ƒ†‘‘ —””‡—†‡•„‘”†‡
y ‡“—‹‡”‡Žƒ•‡–‡ ‹ƒ Š‡ ‡†

ͤ͞

Ϯϴ

ϭϰ
ExcepcionesĞŶη͘Ed

ZŝĞƐŐŽƐ͙

y Ǭ“—±•‡†‡„‡“—‡‡Ž”‡•—Ž–ƒ†‘‡•‡‰ƒ–‹˜‘ǫ
y ˜‡”ˆŽ‘™š ‡’–‹‘ ǤǦ ‡•„‘”†‡ƒ”‹–±–‹ ‘

ͥ͞

Ϯϵ

KǀĞƌĨůŽǁdžĐĞƉƚŝŽŶ
‘”†‡ˆ‡ –‘ǡ •‡˜‡”‹ˆ‹ ƒ‡Ž†‡•„‘”†‡
ƒ”‹–±–‹ ‘
FKHFNHG^ 2YHUIORZ([FHSWLRQ
LQWQXPEHU LQW0D[9DOXH
&RQVROH:ULWH/LQH QXPEHU  'LVSDUD XQD H[FHSFLyQ
` 1RVHHMHFXWD ODLPSUHVLyQ

XQFKHFNHG^
LQWQXPEHU LQW0D[9DOXH ¢0D[9DOXH HV QHJDWLYR"
&RQVROH:ULWH/LQH QXPEHU 
` 

ϯϬ

ϭϱ
Excepciones ĞŶη͘Ed

KǀĞƌĨůŽǁdžĐĞƉƚŝŽŶ ŶŽǀĞƌŝĨŝĐĂĚĂ

•–ƒ–‹ ˜‘‹† ƒ‹ſ•–”‹‰ƃƄƒ”‰•ƀ


Ƈ
‹– ‹–—‡”‘ ʰ‹–ŜƒšƒŽ—‡Śŵŵɩřɨɫɮřɫɯɪřɭɫɮ
ǣ
‹–—‡”‘ʫʫŚ ‘˜‡”‹ˆ‹ ƒ˜‡”ˆŽ‘™š ‡’–‹‘ ǨǨǨ

‘•‘Ž‡Ŝ”‹–‡‹‡ſ‹–—‡”‘ƀŚŵŵŞɩřɨɫɮřɫɯɪřɭɫɯ
ƈ

ǣ
‡•—Ž–ƒ†‘‹ ‘””‡ –‘

ϯϭ

^ĞŶƚĞŶĐŝĂĐŚĞĐŬĞĚ
‹– ‹–—‡”‘ ʰ‹–ŜƒšƒŽ—‡Śŵŵɩřɨɫɮřɫɯɪřɭɫɮ

–”› Ƈ
Š‡ ‡† Ƈ ‡”‹ˆ‹ ƒ˜‡”ˆŽ‘™š ‡’–‹‘ ǨǨǨ
‹–—‡”‘ʫʫŚ
ƈ
ƈ
ƒ– Šſ˜‡”ˆŽ‘™š ‡’–‹‘ƀƇ
‘•‘Ž‡Ŝ”‹–‡‹‡ſɑõ‡”‘†‡ƒ•‹ƒ†‘‰”ƒ†‡ɑƀŚ
ƈ

ϯϮ

ϭϲ
ExcepcionesĞŶη͘Ed

dŝƉŽƐĚĞĞdžĐĞƉĐŝŽŶĞƐ
š ‡’ ‹‘‡• ‹’ŽÀ ‹–ƒ•ǣ
—ƒ†‘ •‡ ”‡ƒŽ‹œƒ ƒŽ‰—ƒ ‘’‡”ƒ ‹× ‘ ˜žŽ‹†ƒ •‡ Žƒœƒ
ƒ—–‘ž–‹ ƒ‡–‡Ǥ
Ǥ ‡Œ‡Ǥ  ‡•‘ ƒ ƒŽ‰ï ‘„Œ‡–‘ “—‡ ‘ ‡š‹•–‡ǡ
†‹˜‹•‹× ’‘” ‡”‘ǡ ‡– Ǥ

š ‡’ ‹‘‡• †‡ ’”‘‰”ƒƒ†‘”ǣ
‡ †‡ˆ‹‡ —ƒ Žƒ•‡ “—‡ Š‡”‡†‡ †‡ Š”‘™ƒ„Ž‡ ‘ †‡
š ‡’–‹‘Ǥ

š ‡’ ‹‘‡• †‡ —•—ƒ”‹‘ǣ
‡•–‹‘ƒ Žƒ ‡š ‡’ ‹× ‡†‹ƒ–‡ Ž‘• „Ž‘“—‡• †‡ ׆‹‰‘
–”›ǡ ƒ– Šǡ ˆ‹ƒŽŽ›Ǥ
†‹ ƒ “—‡ ‡Ž ׆‹‰‘ ’”‘†— ‹”ž —ƒ ‡š ‡’ ‹× “—‡ ‘
•‡ –”ƒ–ƒ”ž †‡–”‘ †‡ ±Ž › •‡ ’ƒ•ƒ”ž ƒŽ ±–‘†‘ •—’‡”‹‘”
—–‹Ž‹œƒ†‘ –Š”‘™Ǥ
ϯϯ

>ĂƐĞŶƚĞŶĐŝĂƚŚƌŽǁ
• ƒ ‹•–”— ‹× –Š”‘™ •‡ —–‹Ž‹œƒ ’ƒ”ƒ •‡ÓƒŽ‹œƒ” Žƒ
ƒ’ƒ”‹ ‹× †‡ —ƒ •‹–—ƒ ‹× ƒ×ƒŽƒ ȋ‡š ‡’ ‹×Ȍ
†—”ƒ–‡ Žƒ ‡Œ‡ — ‹× †‡Ž ’”‘‰”ƒƒǤ

• ‡ ’—‡†‡ —–‹Ž‹œƒ” —ƒ ‹•–”— ‹× –Š”‘™ ‡ ‡Ž


„Ž‘“—‡ ƒ– Š ’ƒ”ƒ ˜‘Ž˜‡” ƒ ’”‘†— ‹” Žƒ ‡š ‡’ ‹×ǡ Žƒ
—ƒŽ Šƒ •‹†‘ ƒ’–—”ƒ†ƒ ’‘” Žƒ ‹•–”— ‹× catchǤ
• Ž ’”‘‰”ƒƒ†‘” ’—‡†‡ †‹•’ƒ”ƒ” —ƒ ‡š ‡’ ‹×
‡†‹ƒ–‡ǣ
• –Š”‘™ ‡™ š ‡’–‹‘ſũ””‘”ś ŝŝŜŪƀŚ

ϯϰ

ϭϳ
ExcepcionesĞŶη͘Ed

ũĞŵƉůŽĚĞůĂƐĞŶƚĞŶĐŝĂƚŚƌŽǁ
•–ƒ–‹ ˜‘‹† ƒ‹ſ•–”‹‰ƃƄƒ”‰•ƀ
Ƈ
‹– ‹–‹˜‹†‡†‘ ʰɪř‹–‹˜‹•‘” ʰɥŚ
‹– ‹–‡•—Ž–ƒ†‘ ʰɥŚ

–”› Ƈ
‹–‡•—Ž–ƒ†‘ ʰƒŽ —Žƒ”‹˜‹•‹‘ſ‹–‹˜‹†‡†‘ř
‹–‹˜‹•‘”ƀŚ
ƈ
ƒ– Š ſš ‡’–‹‘ šƀƇ
‘•‘Ž‡Ŝ”‹–‡‹‡ſšŜ‡••ƒ‰‡ƀŚ
ƈ
ˆ‹ƒŽŽ› Ƈ
‘•‘Ž‡Ŝ”‹–‡‹‡ſ‹–‹˜‹†‡†‘ ʫɑŵɑ ʫ‹–‹˜‹•‘” ʫɑʰɑ
ʫ‹–‡•—Ž–ƒ†‘ƀŚ
ƈ
ƈ

ϯϱ

ũĞŵƉůŽĚĞůĂƐĞŶƚĞŶĐŝĂƚŚƌŽǁ
•–ƒ–‹ ‹– ƒŽ —Žƒ”‹˜‹•‹‘ſ‹– ‹–—‡”ƒ†‘”ř‹–
‹–‡‘‹ƒ†‘”ƀ
Ƈ
‹ˆ ſ‹–‡‘‹ƒ†‘” ʰʰɥƀ
–Š”‘™ ‡™ š ‡’–‹‘ſɑŽ†‡‘‹ƒ†‘”†‡„‡•‡” ‡”‘ɑƀŚ
‡Ž•‡
”‡–—” ſ‹–—‡”ƒ†‘” ŵ‹–‡‘‹ƒ†‘”ƀŚ
ƈ

ϯϲ

ϭϴ
Excepcionesη͘Ed

ũĞŵƉůŽ͗ŝƐƉĂƌĂƌƵŶĂĞdžĐĞƉĐŝſŶ
ŵĞĚŝĂŶƚĞůĂƐĞŶƚĞŶĐŝĂƚŚƌŽǁ
•–ƒ–‹ ˜‘‹† ƒ‹ſ•–”‹‰ƃƄƒ”‰•ƀ
Ƈ
•–”‹‰ •–”ƒ†‡ƒ ʰ—ŽŽŚ
–”› Ƈ
”‘ ‡•ƒ”ƒ†‡ƒſ•–”ƒ†‡ƒƀŚ
ƈ
ƒ– Š ſš ‡’–‹‘ ‡ƀƇ
‘•‘Ž‡Ŝ”‹–‡‹‡ſɑš ‡’ ‹Üśɑʫ‡Ŝ‡••ƒ‰‡ƀŚ
ƈ
ƈ

•–ƒ–‹ ˜‘‹† ”‘ ‡•ƒ”ƒ†‡ƒſ•–”‹‰ •ƀ ‹•’ƒ”ƒŽƒ


Ƈ ‡š ‡’ ‹×
‹ˆ ſ•ʰʰ—ŽŽƀ —•ƒ†‘Žƒ
–Š”‘™ ‡™ ”‰—‡–—ŽŽš ‡’–‹‘ſƀŚ •‡–‡ ‹ƒ
ƈ –Š”‘™

ϯϳ

^ĞĐƵĞŶĐŝĂĚĞƐĞŶƚĞŶĐŝĂƐĐĂƚĐŚ
•–ƒ–‹ ˜‘‹† ƒ‹ſ•–”‹‰ƃƄƒ”‰•ƀ
Ƈ
•–”‹‰ •–”ƒ†‡ƒ ʰ—ŽŽŚ
–”› Ƈ
”‘ ‡•ƒ”ƒ†‡ƒſ•–”ƒ†‡ƒƀŚ
ƈ
ŵŵƒ•‡•’‡ ȋ ‘
ƒ– Š ſ”‰—‡–—ŽŽš ‡’–‹‘ ‡ƀ
Ƈ‘•‘Ž‡Ŝ”‹–‡‹‡ſɑɨƒ‡š ‡’ ‹Ü ƒ’–—”ƒ†ƒśɑʫ‡Ŝ‡••ƒ‰‡ƀŚƈ

ŵŵ‡‘•‡•’‡ ȋ ‘
ƒ– Š ſš ‡’–‹‘ ‡ƀ
Ƈ‘•‘Ž‡Ŝ”‹–‡‹‡ſɑɩƒ‡š ‡’ ‹Ü ƒ’–—”ƒ†ƒśɑʫ‡Ŝ‡••ƒ‰‡ƀŚƈ
ƈ

ϯϴ

ϭϵ
Excepciones ĞŶη͘Ed

hƐŽĚĞƉƌŽƉŝĞĚĂĚĞƐƉĂƌĂǀĂůŝĚĂƌůĂ
ĐĂƉƚƵƌĂĚĞĚĂƚŽƐ

• ƒ’–—”ƒ” †ƒ–‘• ›
˜ƒŽ‹†ƒ” “—‡ •‡ –‡ Ž‡‡
‘””‡ –ƒ‡–‡Ǥ

• ‘ †‡Œƒ” †ƒ–‘• ‡
„Žƒ ‘

• ƒ‰‘ †‡ ˜ƒŽ‘”‡•
’‡”‹–‹†‘

ϯϵ

ŝƐĞŹŽĚĞůĂĐůĂƐĞŵƉůĞĂĚŽ

͜͠

ϰϬ

ϮϬ
ExcepcioneƐĞŶη͘Ed

hƐŽĚĞƉƌŽƉŝĞĚĂĚĞƐƉĂƌĂǀĂůŝĚĂƌůĂĐĂƉƚƵƌĂ
ĚĞĚĂƚŽƐ;ĚĞĐůĂƌĂĐŝſŶĚĞĂƚƌŝďƵƚŽƐͿ

Žƒ•• ’Ž‡ƒ†‘
Ƈ
ŵŵ–”‹„—–‘•’”‹˜ƒ†‘•
’”‹˜ƒ–‡ ‹– ɏ‹–—‡”‘Ś
’”‹˜ƒ–‡ •–”‹‰ ɏ•–”‘„”‡Ś
’”‹˜ƒ–‡ ‹– ɏ‹–†ƒ†Ś

ś
ś
ś

ϰϭ

sĂůŝĚĂƌůĂĐĂƉƚƵƌĂĚĞůŶƷŵĞƌŽĚĞů
ĞŵƉůĞĂĚŽ
Empleado.Numero { set } : int

_intNumero = value

yes
_intNumero
throw new Exception("Dato incorrecto para el número")
<= 0

no
return

ϰϮ

Ϯϭ
ExcepcioneƐĞŶη͘Ed

sĂůŝĚĂƌůĂĐĂƉƚƵƌĂĚĞůŶƷŵĞƌŽĚĞů
ĞŵƉůĞĂĚŽ
ŵŵ”‘’‹‡†ƒ†’õ„Ž‹ ƒ†‡Žõ‡”‘
’—„Ž‹ ‹– —‡”‘
Ƈ
‰‡– Ƈ”‡–—” ɏ‹–—‡”‘Śƈ
•‡–
Ƈ
ɏ‹–—‡”‘ ʰ˜ƒŽ—‡Ś
‹ˆ ſɏ‹–—‡”‘ ʳʰɥƀ
–Š”‘™ ‡™ š ‡’–‹‘ſɑƒ–‘‹ ‘””‡ –‘’ƒ”ƒ
‡Žõ‡”‘ɑƀŚ
ƈ
ƈ

ϰϯ

Empleado.Nombre { set } : string


sĂůŝĚĂƌůĂĐĂƉƚƵƌĂ
_strNombre = value ĚĞůŶŽŵďƌĞĚĞů
ĞŵƉůĞĂĚŽ
yes
_strNombre
throw new Exception("No debe dejar en blanco el nombre")
== ""

no
no
foreach(char letra in _strNombre) return

yes
Casos
Á,É,Í,Ó,Ú,Ñ,' '
letra

no letra<'A' yes
OR throw new Exception("Solamente se permiten mayúsculas en el nombre")
letra>'Z'

ϰϰ

ϮϮ
ExcepcionesĞŶη͘Ed

sĂůŝĚĂƌůĂĐĂƉƚƵƌĂĚĞůŶŽŵďƌĞĚĞů
ĞŵƉůĞĂĚŽ
’—„Ž‹ •–”‹‰ ‘„”‡
Ƈ
‰‡– Ƈ”‡–—” ɏ•–”‘„”‡Śƈ
•‡–
Ƈ
ɏ•–”‘„”‡ ʰ˜ƒŽ—‡Ś
‹ˆ ſɏ•–”‘„”‡ ʰʰɑɑƀ
–Š”‘™ ‡™ š ‡’–‹‘ſɑ‘†‡„‡†‡Œƒ”‡„Žƒ ‘‡Ž‘„”‡ɑƀŚ

ˆ‘”‡ƒ Š ſ Šƒ” Ž‡–”ƒ‹ ɏ•–”‘„”‡ƀƇ


ŵŵƒ”ƒ –‡”‡•’‡”‹–‹†‘•
•™‹– Š ſŽ‡–”ƒƀ
Ƈ
ƒ•‡ ɐɐś ‘–‹—‡Ś
ƒ•‡ ɐ3ɐś ‘–‹—‡Ś
ƒ•‡ ɐBɐś ‘–‹—‡Ś
ƒ•‡ ɐXɐś ‘–‹—‡Ś
ƒ•‡ ɐoɐś ‘–‹—‡Ś
ƒ•‡ ɐTɐś ‘–‹—‡Ś
ƒ•‡ ɐrɐś ‘–‹—‡Ś
ƒ•‡ ɐɐś ‘–‹—‡Ś
ƈ

‹ˆ ſŽ‡–”ƒʳɐɐ ŶŶŽ‡–”ƒʴɐɐƀ
–Š”‘™ ‡™ š ‡’–‹‘ſɑ‘Žƒ‡–‡•‡’‡”‹–‡ƒ›õ• —Žƒ•‡‡Ž‘„”‡ſ‘ ƒ’–—”ƒ”õ‡”‘•‹
‘–”‘• ƒ”ƒ –‡”‡•ƀɑƀŚ
ƈ
ƈ
ƈ

ϰϱ

sĂůŝĚĂƌůĂĐĂƉƚƵƌĂĚĞůĂĞĚĂĚĚĞů
ĞŵƉůĞĂĚŽ
Empleado.Edad { set } : int

_intEdad = value

_intEdad < 0 yes


OR throw new Exception("Dato fuera de rango en la edad")
_intEdad > 110

no
return

ϰϲ

Ϯϯ
ExcepcionesĞŶη͘Ed

sĂůŝĚĂƌůĂĐĂƉƚƵƌĂĚĞůĂĞĚĂĚĚĞů
ĞŵƉůĞĂĚŽ
ŵŵ”‘’‹‡†ƒ†’õ„Ž‹ ƒ†‡Žƒ‡†ƒ†
’—„Ž‹ ‹– †ƒ†
Ƈ
‰‡– Ƈ”‡–—” ɏ‹–†ƒ†Śƈ
•‡–
Ƈ
ɏ‹–†ƒ† ʰ˜ƒŽ—‡Ś
‹ˆ ſɏ‹–†ƒ† ʳɥŶŶɏ‹–†ƒ† ʴɨɨɥƀ
–Š”‘™ ‡™ š ‡’–‹‘ſɑƒ–‘ˆ—‡”ƒ†‡”ƒ‰‘‡
Žƒ‡†ƒ†ɑƀŚ
ƈ
ƈ

ϰϳ

sĂůŝĚĂƌůĂĐĂƉƚƵƌĂĚĞĚĂƚŽƐĚĞƐĚĞ
ĞůďŽƚſŶ
’”‹˜ƒ–‡ ˜‘‹† „–ƒ’–—”ƒ”ɏŽ‹ ſ‘„Œ‡ – •‡†‡”ř˜‡–”‰• ‡ƀ
Ƈ
’Ž‡ƒ†‘ ‹’Ž‡ƒ†‘ ʰ‡™ ’Ž‡ƒ†‘ſƀŚ

–”›
Ƈ
‹’Ž‡ƒ†‘Ŝ—‡”‘ ʰ‹–Ŝƒ”•‡ſ–š–—‡”‘Ŝ‡š–ƀŚ
‹’Ž‡ƒ†‘Ŝ‘„”‡ ʰ–š–‘„”‡Ŝ‡š–Ś
‹’Ž‡ƒ†‘Ŝ†ƒ† ʰ‹–Ŝƒ”•‡ſ–š–†ƒ†Ŝ‡š–ƀŚ
ƈ
ƒ– Š ſš ‡’–‹‘ šƀ
Ƈ
‡••ƒ‰‡‘šŜŠ‘™ſšŜ‡••ƒ‰‡ƀŚ
–š–—‡”‘Ŝ ‘ —•ſƀŚ
”‡–—”Ś
ƈ

ϰϴ

Ϯϰ

You might also like