# Rust: thread 'main' panicked at src/main.rs:3:13: attempt to divide by zero

**Code:** `panic: attempt to divide by zero` · **Category:** Rust · **Seen on:** Rust

Integer division or remainder by zero.

## Meaning

Check the divisor (`if d != 0`), use `checked_div`/`checked_rem`, or return an error. Floating-point division yields infinity/NaN instead of panicking. Typical sources: average of an empty list, user input, counters.

## Common causes

- Divisor is 0 (empty data count)
- Modulo by zero
- User-supplied divisor
- Uninitialised counter
- Casting float to int 0

## Quick fix

1. `a.checked_div(b).ok_or(Error::DivZero)?`
2. Guard: `if b == 0 { return None; }`
3. Use floats if infinity is acceptable

## Detailed fix by platform

### Rust

1. `let avg = sum.checked_div(count).unwrap_or(0);`

## How to diagnose

1. **Divisor** — Zero when?
2. **Source** — Empty data?
3. **Alternative** — checked_div?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/rust/panic-attempt-to-divide-by-zero)
