<?php

namespace Kylin\Sms\Exceptions;

/**
 * 无效手机号异常
 * 
 * 当提供的手机号码格式无效时抛出此异常
 * 手机号必须符合中国大陆手机号格式：以1开头，共11位数字
 * 
 * 示例：
 * - 有效号码：13800138000、15912345678
 * - 无效号码：12345678901（第二位不在3-9范围内）、1380013800（位数不足）
 * 
 * @package Kylin\Sms\Exceptions
 */
class InvalidPhoneNumberException extends SmsException
{
    /**
     * 构造函数
     * 
     * 创建无效手机号异常实例
     * 自动生成包含无效手机号的错误消息
     * 
     * @param string $phone 无效的手机号码
     * @param string $message 自定义异常消息，为空时使用默认消息
     */
    public function __construct(string $phone, string $message = '')
    {
        $message = $message ?: "无效的手机号码: {$phone}";
        parent::__construct($message, 400, ['phone' => $phone]);
    }
}
