# P8.5 चुकीच्या Data साठी Python मध्ये Error कसा Raise करायचा?

Source: https://ravindrabagale.com/mr/datascience/py08-python-errors-and-exceptions-try-except-finally-explained/p8-5-how-to-raise-an-error-in-python-for-bad-data.html
Language: mr (Marathi with English technical terms)

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

Negative quantity सारखा चुकीचा data शांतपणे पुढे गेला तर report चुकतो. लगेच थांबवणं चांगलं.

हे काय आहे?

raise ValueError("message") स्वतः error निर्माण करतो. तो इतर errors सारखाच try/except ने पकडता येतो.

कसं करायचं?

Step 1. Data तपासा.
Step 2. चुकीचा असेल तर raise करा.
Step 3. Call करणाऱ्या ठिकाणी except ने पकडा.

उदाहरण A: Negative quantity नाकारा

```python
def check_qty(q):
    if q < 0:
        raise ValueError(f"Quantity cannot be negative: {q}")
    return q

print(check_qty(5))
check_qty(-2)
```

Output:

```text
5
ValueError: Quantity cannot be negative: -2
```

याचा अर्थ: चुकीच्या value वर आपला message असलेला ValueError आला.

उदाहरण B: आपला error पकडा

```python
def check_age(a):
    if not 0 <= a <= 120:
        raise ValueError(f"Bad age: {a}")
    return a

problems = []
for a in [34, 250, 61, -1]:
    try:
        check_age(a)
    except ValueError as e:
        problems.append(str(e))
print(problems)
```

Output:

```text
['Bad age: 250', 'Bad age: -1']
```

याचा अर्थ: try/except ने आपला error पकडून message दाखवला.

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

अशक्य values वर मोठ्याने fail व्हा. Report मधला शांत चुकीचा आकडा स्पष्ट error पेक्षा वाईट.
