# Abp Exception Handling

> ABP Framework v10.4 exception handling: BusinessException, UserFriendlyException, RemoteServiceErrorResponse, HTTP status mapping, error code localization. Use for error handling in ABP, when you need a business exception or an HTTP error response.

- **Type:** Skill
- **Install:** `agentstack add skill-burakdmir-abp-skills-abp-exception-handling`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [burakdmir](https://agentstack.voostack.com/s/burakdmir)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [burakdmir](https://github.com/burakdmir)
- **Source:** https://github.com/burakdmir/abp-skills/tree/main/opencode/abp-exception-handling
- **Website:** https://abp.io/docs/latest

## Install

```sh
agentstack add skill-burakdmir-abp-skills-abp-exception-handling
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# ABP Exception Handling Skill

## Trigger
Exception handling, error handling, RemoteServiceErrorResponse, error codes, business exceptions, HTTP status mapping, API errors.

---

## Quick Reference

### Error Response Format
```json
{
  "error": {
    "code": "App:010046",
    "message": "Your request is not valid!",
    "validationErrors": [{ "message": "Min length 3", "members": ["userName"] }],
    "details": "..."
  }
}
```

### Custom Exception with Code
```csharp
public class InsufficientStockException : Exception, IHasErrorCode
{
    public string Code => "BookStore:010001";
}
```

### With Log Level
```csharp
public class ExpectedException : Exception, IHasLogLevel
{
    public LogLevel LogLevel => LogLevel.Warning;
}
```

### Self-Logging
```csharp
public class MyException : Exception, IExceptionWithSelfLogging
{
    public void Log(ILogger logger) => logger.LogWarning("Context: {Data}", Data);
}
```

### HTTP Status Mapping
```csharp
Configure(options =>
{
    options.MapToStatusCode(StatusCodes.Status409Conflict);
    options.SendExceptionsDetailsToClients = false; // Production: always false
});
```

### Auto Mapped Exceptions
| Exception | HTTP Status |
|---|---|
| AbpValidationException | 400 |
| AbpAuthorizationException | 403 |
| EntityNotFoundException | 404 |
| UserFriendlyException | 400 |
| EntityAlreadyExistsException | 409 |
| Exception | 500 |

### Best Practices
- UserFriendlyException → user-facing errors
- IHasErrorCode → machine-readable codes
- IHasLogLevel → control log noise
- IExceptionWithSelfLogging → extra context
- Never expose stack traces in production
- Use specific exception types
- Localize error messages

## Related

[Validation](../abp-validation/SKILL.md) · [Localization](../abp-localization/SKILL.md) · [API](../abp-api/SKILL.md) · Docs: https://abp.io/docs/latest/framework/fundamentals/exception-handling

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [burakdmir](https://github.com/burakdmir)
- **Source:** [burakdmir/abp-skills](https://github.com/burakdmir/abp-skills)
- **License:** MIT
- **Homepage:** https://abp.io/docs/latest

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-burakdmir-abp-skills-abp-exception-handling
- Seller: https://agentstack.voostack.com/s/burakdmir
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
