Try-Catch Basics
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 23 / 66.
C#'ta istisna işleme, çalışma zamanı hatalarını zarif bir şekilde yönetmenizi sağlar. try-catch bloğu, istisnaları işlemek için temel yöntemdir.
Temel bir try-catch bloğu oluşturun:
try
{
// İstisna (hata) fırlatabilecek kod
int result = 10 / 0; // Bu bir DivideByZeroException fırlatacak
}
catch (Exception ex)
{
// İstisnayı işleyin
Console.WriteLine("An error occurred: " + ex.Message);
}Yukarıdaki kodu çalıştırdıktan sonra, programınızın çökmesi yerine şunu göreceksiniz:
An error occurred: Attempted to divide by zero.catch bloğundan sonra kod yürütmeye devam edebilirsiniz:
try
{
int result = 10 / 0;
Console.WriteLine("This won't execute");
}
catch (Exception ex)
{
Console.WriteLine("Caught an error: " + ex.Message);
}
Console.WriteLine("Program continues running");Görev
KolayDivideNumbers adında iki tamsayı parametresi alan bir metot oluşturun:
numerator- Bölünecek sayıdenominator- Bölen sayı
Metot şu işlemleri yapmalıdır:
- numerator'ı denominator'a bölmeyi deneyin
- Başarılı olursa sonucu döndürün
- Herhangi bir DivideByZeroException'ı yakalayın ve tam olarak şunu yazdırın: "Cannot divide by zero!"
- Bir istisna oluşursa 0 döndürün
Kopya kağıdı
C#'ta istisna yönetimi, çalışma zamanı hatalarını zarif bir şekilde yönetmek için try-catch bloklarını kullanır:
try
{
// Bir istisna fırlatabilecek kod
int result = 10 / 0;
}
catch (Exception ex)
{
// İstisnayı yönet
Console.WriteLine("An error occurred: " + ex.Message);
}Kod yürütme, catch bloğundan sonra devam eder ve programın çökmesini önler. Daha hedefe yönelik hata yönetimi için DivideByZeroException gibi belirli istisna türlerini yakalayabilirsiniz.
Kendin dene
using System;
class Program {
public static int DivideNumbers(int numerator, int denominator) {
// Buraya kodunuzu yazın
}
static void Main(string[] args) {
int numerator = int.Parse(Console.ReadLine());
int denominator = int.Parse(Console.ReadLine());
int result = DivideNumbers(numerator, denominator);
Console.WriteLine(result);
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety