Ik probeer uit een stuk opgevraagde HTML van een webpagina een Encoding te ontfutselen met Encoding.GetEncoding(charset). Geen probleem. Werkt.
Maar wat nou als de gegeven charset niet bestaat of niet ondersteund wordt door het OS? Ik simuleer die situatie door moedwilling een foute charset op te geven:
Volgens de help gooit GetEncoding een NotSuppertedException op, als de gegeven charset niet bestaat, en volgens mij gebeurt dat ook. Het is een webservice, dus ik zie geen mooi dialoogje naar voren ploppen; ik zie alleen in de browser de melding van de exception, en die komt (volgens de help) overeen met het type exception dat ik catch:
Maar, waarom komt ie dan niet in het catch-block terecht, om netjes een algemene ASCII-encoding terug te geven?
Maar wat nou als de gegeven charset niet bestaat of niet ondersteund wordt door het OS? Ik simuleer die situatie door moedwilling een foute charset op te geven:
C#:
1
2
3
4
5
6
7
| try { Encoding Result = Encoding.GetEncoding("blaat"); return Result; } catch (NotSupportedException) { return Encoding.ASCII; } |
Volgens de help gooit GetEncoding een NotSuppertedException op, als de gegeven charset niet bestaat, en volgens mij gebeurt dat ook. Het is een webservice, dus ik zie geen mooi dialoogje naar voren ploppen; ik zie alleen in de browser de melding van de exception, en die komt (volgens de help) overeen met het type exception dat ik catch:
code:
1
2
| blaat is not a supported encoding name. Parameter name: name |
Maar, waarom komt ie dan niet in het catch-block terecht, om netjes een algemene ASCII-encoding terug te geven?
日本!🎌