Category Archives: .NET Framework

Exception types – kdy který použít [Vzdělávací okénko, 10.4.2025]

  • NotImplementedException – výhradně během vývoje jako TODO
  • NullReferenceException – nikdy nevyhrazujeme explicitně, výhradně vyhazováno runtimem
  • NotSupportedException – explicitně indikujeme, že o use-case víme, ale není řešen
  • InvalidOperationException – „nemělo by v produkci nastat“, chyba vývoje (nesprávné volání , switch nad nečekanou hodnotou enum, …)
  • ArgumentNullException, ArgumentOutOfRangeException – výhradně přímé argumenty (ne arg1.Property != null)
  • ArgumentException – obecný problém s argumentem/-y (bližší specifikace v Message)
  • ContractFailedException – default pro Contract.Requires(cond), Contract.Assert(cond), …
  • Exception – nedoporučuje se vyhazovat, mělo být spíše abstract, použijte potomky
  • OperationFailedException – indikace chyby do UI (specficiké pro Havit.Blazor stack)
  • ApplicationException – deprecated

Záznam ze Vzdělávacího okénka HAVIT z 10. dubna 2025.

await foo?.DoAsync() [Vzdělávací okénko, 20.3.2025]

Krátce o pasti zápisu await foo?.DoAsync(), kdy použití null-conditional accessu vede na await null a NullReferenceException.

C# & Code Conventions [Jiří Kanda, Vzdělávací okénko, 20.9.2023]

Záznam ze Vzdělávacího okénka HAVIT, kde Jirka Kanda ukazoval, jaké v HAVITu máme coding-standardy a konvence v C# kódu.

Perly code-review – záznam a slides [Robert Haken, WUG Days 2023.2 Brno]

Slides z mé přednášky 12. září 2023 pro konferenci WUG Days 2023.2 Brno:

Novinky v C# 10 [Alexandr Hájek, Vzdělávací okénko, 3.11.2021]

Záznam ze Vzdělávacího okénka HAVIT, kde Alex Hájek mluvil o novinkách v programovacím jazyce C# verze 10.

OpenID Connect [Miroslav Louma, Vzdělávací okénko, 19.10.2021]

Záznam ze Vzdělávacího okénka HAVIT, kde Miro Louma ukazoval OpenID Connect a jeho implementaci v Identity Serveru 4.

Unit testing v .NET od A do Z – záznam, slides a dema [TechEd Praha 2021]

Záznam z přednášky pro konferenci TechEd DevCon Praha ze 19. května 2021, kde jsem povídal o Unit testingu:

  • Unit-testing
  • Proč unit-testing?
  • Good unit-test
  • Best-practices
  • Dependencies
  • Mocking
  • Test smell
  • Techniques & Tips
  • Test-Driven-Development [TDD]

Konference probíhala on-line.

Dema: https://github.com/hakenr/UnitTestingDemo

Slides

Novinky v .NET Internals – záznam, slides a dema [TechEd Praha 2021]

Záznam z přednášky pro konferenci TechEd DevCon Praha ze 19. května 2021, kde jsem povídal o novinkách v .NET Internals v těchto oblastech:

  • JIT, compilation
  • Diagnostic CLI tools
  • Memory Management, Garbage Collector
  • Performance

Konference probíhala on-line.

Dema: https://github.com/hakenr/DotNetInternalsDemo

Slides

Hangfire [Jiří Kanda, Vzdělávací okénko, 19.5.2021]

Záznam ze Vzdělávacího okénka HAVIT, kde Jirka Kanda ukazoval Hangfire – knihovnu pro background jobs, na kterou postupně přecházíme z Quartz.NET.

Cancellation Tokens [Jiří Kanda, Vzdělávací okénko, 5.5.2021]

Záznam ze Vzdělávacího okénka HAVIT, kde Jirka Kanda ukazoval využití a práci s CancellationTokens v asynchronním programování.