Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/jdk.attach/share/classes/com/sun/tools/attach/AgentInitializationException.java
40948 views
1
/*
2
* Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package com.sun.tools.attach;
27
28
/**
29
* The exception thrown when an agent fails to initialize in the target
30
* Java virtual machine.
31
*
32
* <p> This exception is thrown by
33
* {@link com.sun.tools.attach.VirtualMachine#loadAgent VirtualMachine.loadAgent},
34
* {@link com.sun.tools.attach.VirtualMachine#loadAgentLibrary
35
* VirtualMachine.loadAgentLibrary},
36
* {@link com.sun.tools.attach.VirtualMachine#loadAgentPath VirtualMachine.loadAgentPath}
37
* methods if an agent, or agent library, cannot be initialized.
38
* When thrown by {@code VirtualMachine.loadAgentLibrary}, or
39
* {@code VirtualMachine.loadAgentPath} then the exception encapsulates
40
* the error returned by the agent's {@code Agent_OnAttach} function.
41
* This error code can be obtained by invoking the {@link #returnValue() returnValue} method.
42
*/
43
public class AgentInitializationException extends Exception {
44
45
/** use serialVersionUID for interoperability */
46
static final long serialVersionUID = -1508756333332806353L;
47
48
private int returnValue;
49
50
/**
51
* Constructs an {@code AgentInitializationException} with
52
* no detail message.
53
*/
54
public AgentInitializationException() {
55
super();
56
this.returnValue = 0;
57
}
58
59
/**
60
* Constructs an {@code AgentInitializationException} with
61
* the specified detail message.
62
*
63
* @param s the detail message.
64
*/
65
public AgentInitializationException(String s) {
66
super(s);
67
this.returnValue = 0;
68
}
69
70
/**
71
* Constructs an {@code AgentInitializationException} with
72
* the specified detail message and the return value from the
73
* execution of the agent's {@code Agent_OnAttach} function.
74
*
75
* @param s the detail message.
76
* @param returnValue the return value
77
*/
78
public AgentInitializationException(String s, int returnValue) {
79
super(s);
80
this.returnValue = returnValue;
81
}
82
83
/**
84
* If the exception was created with the return value from the agent
85
* {@code Agent_OnAttach} function then this returns that value,
86
* otherwise returns {@code 0}.
87
*
88
* @return the return value
89
*/
90
public int returnValue() {
91
return returnValue;
92
}
93
94
}
95
96