# P8.3 Python मध्ये try आणि except कसे वापरायचे?

Source: https://ravindrabagale.com/mr/datascience/py08-python-errors-and-exceptions-try-except-finally-explained/p8-3-how-to-use-try-and-except-in-python.html
Language: mr (Marathi with English technical terms)

हे का शिकायचं?

एका वाईट row मुळे पूर्ण program थांबू नये.

हे काय आहे?

try: मध्ये धोकादायक code, except ErrorType: मध्ये error आला तर काय करायचं. नेमका error प्रकार लिहा.

कसं करायचं?

Step 1. धोकादायक code try मध्ये ठेवा.
Step 2. except मध्ये error प्रकार लिहा.
Step 3. तिथे सुरक्षित उत्तर द्या.

Python आणि इतर भाषा: तुलना

- Python: try: ... except ValueError: ...
- Java: try { ... } catch (NumberFormatException e) { ... }
- JavaScript: try { ... } catch (e) { ... }
- Go: v, err := strconv.ParseFloat(s, 64); if err != nil { ... }

उदाहरण A: सुरक्षित भागाकार

```python
revenue = 0
orders = 0
try:
    aov = revenue / orders
except ZeroDivisionError:
    aov = 0
print(aov)
```

Output:

```text
0
```

याचा अर्थ: शून्याने भाग देताना program न थांबता सुरक्षित उत्तर मिळालं.

उदाहरण B: अनेक values convert करा, वाईट skip करा

```python
raw = ["120.5", "abc", "99", "", "45.25"]
good = []
bad = 0
for r in raw:
    try:
        good.append(float(r))
    except ValueError:
        bad += 1
print(good)
print("Bad rows:", bad)
```

Output:

```text
[120.5, 99.0, 45.25]
Bad rows: 2
```

याचा अर्थ: वाईट values सोडून बाकी सगळ्या convert झाल्या.

रवींद्र बागले यांची tip

सगळ्या errors लपवणारा नुसता `except:` कधीच लिहू नका. अपेक्षित असलेली विशिष्ट error पकडा, उदा. ValueError.
