squid-
cache.org
Optimising Web Delivery
Docs
Download
Donate
Support
About
Contact
Shop
Blog
src
base
Assure.cc
Go to the documentation of this file.
1
/*
2
* Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3
*
4
* Squid software is distributed under GPLv2+ license and includes
5
* contributions from numerous individuals and organizations.
6
* Please see the COPYING and CONTRIBUTORS files for details.
7
*/
8
9
#include "
squid.h
"
10
#include "
base/Assure.h
"
11
#include "
base/TextException.h
"
12
#include "
debug/Stream.h
"
13
14
[[ noreturn ]]
void
15
ReportAndThrow_
(
const
int
debugLevel,
const
char
*description,
const
SourceLocation
&location)
16
{
17
const
TextException
ex(description, location);
18
const
auto
label = debugLevel <=
DBG_IMPORTANT
?
"ERROR: Squid BUG: "
:
""
;
19
// TODO: Consider also printing the number of BUGs reported so far. It would
20
// require GC, but we could even print the number of same-location reports.
21
debugs
(0, debugLevel, label << ex);
22
throw
ex;
23
}
24
ReportAndThrow_
void ReportAndThrow_(const int debugLevel, const char *description, const SourceLocation &location)
Definition:
Assure.cc:15
Assure.h
TextException.h
SourceLocation
a source code location that is cheap to create, copy, and store
Definition:
Here.h:30
TextException
an std::runtime_error with thrower location info
Definition:
TextException.h:21
Stream.h
DBG_IMPORTANT
#define DBG_IMPORTANT
Definition:
Stream.h:38
debugs
#define debugs(SECTION, LEVEL, CONTENT)
Definition:
Stream.h:194
squid.h
Introduction
About Squid
Why Squid?
Squid Developers
How to Donate
How to Help Out
Getting Squid
Squid Source Packages
Squid Deployment Case-Studies
Squid Software Foundation
Documentation
Quick Setup
Configuration:
Reference
Examples
FAQ
and
Wiki
Guide Books:
Beginners
Definitive
Non-English
More...
Support
Security Advisories
Bugzilla Database
Mailing lists
Contacting us
Commercial services
Project Sponsors
Squid-based products
Miscellaneous
Developer Resources
Related Writings
Related Software:
Authenticators
Ecap
Icap
Ident
Log Analysis
Monitor
Proxies
Redirectors
General
Squid Artwork
Web Site Translations
Japanese
Mirrors
Website:
gr
il
pl
...
full list
FTP Package Archive