Jeg synes det kunne være fedt hvis du henviste til det Microsoft materiale du er uening i.
Du kan fange alle kastede exception med en konstruktion som denne :
try
{
}
catch(Exception)
{
}
Og du har så muligheden for at tage fat i de specifikke som du kan/vil gøre noget ved med
try
{
}
catch(SomeException e)
{
// hvad du nu kan stille
}
... flere specielle exceptions her
catch(Exception)
{
// resten
}
Desuden kan du så i din
finally
{
}
gøre hvad der skal gøres for at sikre din applikation.
Jeg forstår ikke helt hvad du mener med at holde sig fra exceptions... De vil blive smidt hvis din kode fejler... Det er vel et spørgsmål om du (programmatisk) sidder i en situation, hvor du synes du har noget mere fornuftigt (en særlig exceptiontype) at fortælle en "caller" om den fejl der er opstået - eller har observerer et forløb som du kan "tillade" dig at kalde en exception selv (altså ikke fremkaldt af en CLR-exception).
Med hensyn til det sidste synes jeg det kan anbefales at være ganske kritisik i sine valg.... Det kan være vældig frustrerende med mange forskellige exceptiontyper, der flyver om ørene på en, med fejlmeddelelser og gode råd - uden egentlig at give noget yderligere end at den oprindelige System.IO.DirectoryNotFoundException, som i mange tilfælde højere oppe i applikationen slet ikke kan betrages som en exception, men blot en oplysning om at en bruger har forsøgt at forespørge på et katalog der ikke findes.... Hvilket i visse applikationstyper kunne være en helt naturlig del af programflowet.
Klart nok vil der også være situationer hvor der går noget galt som man muligvis kan rette op på, men når man skriver koden vil man vanligvis også være godt bekendt med hvad der egentlig kan rettes op runtime, og i den situation vil du så vælge at håndtere den/de specifikke exception(s), som vist i konstruktionen højere oppe.
Men ... nu vil du ikke have links til Microsofts sider - men hvad med et interview med Anders Hejlsberg om emnet. Var det noget ?
http://www.artima.com/intv/handcuffsP.htmlDet er bestemt ikke ikke entydigt han taler for checked exceptions... Det er nærmere en konstatering af at de er uenige i den måde det er set implementeret på, men ikke selv har et bedre bud.
Mvh